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 84f3192389c79ffd54c5d2545677ed8e5642c20e..c7691ba32717e79c8873cb9c02a3891dd625cd5b 100644 --- a/apps/ambi_converter.c +++ b/apps/ambi_converter.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include diff --git a/apps/decoder.c b/apps/decoder.c index 1bb6db63a40da0b49126d8287046c3a84f5763ce..04d26fcdc1f3361efa88cd44213ecd63b6c5bc03 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "lib_dec.h" #include "options.h" @@ -59,18 +31,13 @@ * Local constants *------------------------------------------------------------------------------------------*/ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ #define RANDOM_INITSEED_DEC ( 0xFADE ) -#ifdef DEBUGGING -#define MIN_NUM_BITS_ACTIVE_FRAME 56 -#define NUM_BITS_SID_IVAS_5K2 104 -#endif - /*------------------------------------------------------------------------------------------* * Local structure for storing cmdln arguments @@ -159,21 +126,10 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); -#else -static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); -#endif -#ifdef FIX_FMSW_DEC static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); -#else -static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); -#endif 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 ); -#ifndef FIX_FMSW_DEC -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 /*------------------------------------------------------------------------------------------* @@ -507,13 +463,11 @@ int main( goto cleanup; } -#ifdef FIX_2500_RENDCONF_REFACTOR if ( RenderConfigReader_checkValues( renderConfigReader ) != IVAS_ERR_OK ) { fprintf( stderr, "Invalid renderer configuration parameters\n\n" ); goto cleanup; } -#endif aeCount = RenderConfigReader_getAcousticEnvironmentCount( renderConfigReader ); if ( aeCount > 0 ) @@ -593,27 +547,11 @@ int main( if ( arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = IVAS_DEC_GetAcousticEnvironment( hIvasDec, aeID, &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); goto cleanup; } -#else - if ( ( error = IVAS_DEC_GetAcousticEnvironment( hIvasDec, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Invalid reverberation configuration parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); - goto cleanup; - } -#endif } /* ISAR frame size is set from command line, not renderer config file. @@ -690,19 +628,11 @@ int main( if ( arg.voipMode ) { -#ifdef FIX_FMSW_DEC error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &hIvasDec, pcmBuf ); -#else - error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &renderConfig, &hIvasDec, pcmBuf ); -#endif } else { -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &hIvasDec, pcmBuf ); -#else - error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, hIvasDec, pcmBuf ); -#endif } if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE ) @@ -1675,11 +1605,7 @@ static void resetHeadRotation( pPos[i].x_fx = 0; pPos[i].y_fx = 0; pPos[i].z_fx = 0; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION pPos[i].q_fact = 31; -#else - pPos[i].q_fact = 25; -#endif } return; @@ -2034,11 +1960,7 @@ static ivas_error decodeG192( Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE *phIvasDec, -#else - IVAS_DEC_HANDLE hIvasDec, -#endif int16_t *pcmBuf ) { @@ -2046,9 +1968,7 @@ static ivas_error decodeG192( uint16_t bit_stream[IVAS_MAX_BITS_PER_FRAME + 4 * 8]; int16_t i, num_bits; int16_t bfi = 0; -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE hIvasDec = *phIvasDec; -#endif AudioFileWriter *afWriter = NULL; MasaFileWriter *masaWriter = NULL; bool decodedGoodFrame = false; @@ -2072,21 +1992,8 @@ static ivas_error decodeG192( int16_t isSplitRend, isSplitCoded; IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH bool restartNeeded; -#endif -#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 ); @@ -2125,13 +2032,11 @@ static ivas_error decodeG192( goto cleanup; } -#ifdef FIX_2500_RENDCONF_REFACTOR if ( RenderConfigReader_checkValues( renderConfigReader ) != IVAS_ERR_OK ) { fprintf( stderr, "Invalid renderer configuration parameters\n\n" ); goto cleanup; } -#endif } for ( i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i ) @@ -2294,27 +2199,11 @@ static ivas_error decodeG192( arg.aeSequence.selected = 0; } arg.aeSequence.frameCounter = 0; -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, arg.aeSequence.pID[arg.aeSequence.selected], &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get acoustic environment with ID %d\n\n", arg.aeSequence.pID[arg.aeSequence.selected] ); goto cleanup; } -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, arg.aeSequence.pID[arg.aeSequence.selected], &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Invalid acoustic environment configuratoin parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID %d\n\n", arg.aeSequence.pID[arg.aeSequence.selected] ); - goto cleanup; - } -#endif if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); @@ -2347,7 +2236,6 @@ static ivas_error decodeG192( return error; } -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( ( error = IVAS_DEC_isRestartNeeded( hIvasDec, &restartNeeded ) ) != IVAS_ERR_OK ) { return error; @@ -2355,36 +2243,12 @@ static ivas_error decodeG192( if ( restartNeeded ) { -#ifdef FIX_FMSW_DEC if ( ( error = IVAS_DEC_Restart( hIvasDec, IVAS_DEC_MODE_IVAS ) ) != IVAS_ERR_OK ) /* note: only switching within IVAS formats is supported in G.192 */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#else - IVAS_DEC_BS_FORMAT tempFormat; - if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &tempFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); - goto cleanup; - } - IVAS_DEC_MODE codecMode = ( tempFormat == IVAS_DEC_BS_MONO ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; - error = restartDecoder( - &hIvasDec, - codecMode, - &arg, - NULL, /* ToDo : Provide rendererConfig */ - NULL /* ToDo : Provide LS Custom Data */ - ); - if ( error != IVAS_ERR_OK ) - { - fprintf( stderr, "\nFailed to restart decoder\n" ); - goto cleanup; - } - *phIvasDec = hIvasDec; /* Update for main()' s free */ -#endif } -#endif /* Placeholder for memory reallocation */ /* ... */ @@ -2862,9 +2726,6 @@ static ivas_error decodeVoIP( Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, -#ifndef FIX_FMSW_DEC - IVAS_RENDER_CONFIG_DATA *renderConfig, -#endif IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ) { @@ -3021,14 +2882,12 @@ static ivas_error decodeVoIP( /* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */ rtpTimeStamp = rtpTimeStamp / 16; -#ifdef FIX_FMSW_DEC_2 arg.decMode = ( ivasRtp.codecId == IVAS_RTP_EVS ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; if ( ( error = IVAS_DEC_Restart( hIvasDec, arg.decMode ) ) != IVAS_ERR_OK ) /* note: when the RTP bitstream starts with EVS, do the restart */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#endif } if ( error != IVAS_ERR_OK ) { @@ -3062,29 +2921,12 @@ static ivas_error decodeVoIP( /* restart decoder in case of format switching */ if ( ivasRtp.restartNeeded ) { -#ifdef FIX_FMSW_DEC arg.decMode = ( ivasRtp.codecId == IVAS_RTP_EVS ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; if ( ( error = IVAS_DEC_Restart( hIvasDec, arg.decMode ) ) != IVAS_ERR_OK ) /* note: switching between EVS and IVAS is supported in RTP */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#else - IVAS_DEC_MODE newDecModeInPacket = ( ivasRtp.codecId == IVAS_RTP_EVS ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; - if ( ( error = restartDecoder( - &hIvasDec, - newDecModeInPacket, - &arg, - renderConfig, - NULL /* ToDo : Provide LS Custom Data */ - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nFailed to restart decoder from %d to %d\n", arg.decMode, newDecModeInPacket ); - goto cleanup; - } - - *phIvasDec = hIvasDec; /* Update for main()' s free */ -#endif ivasRtp.restartNeeded = false; bitstreamReadDone = false; parametersAvailableForEditing = false; @@ -3316,35 +3158,11 @@ static ivas_error decodeVoIP( if ( restartNeeded ) { -#ifdef FIX_FMSW_DEC if ( ( error = IVAS_DEC_Restart( hIvasDec, IVAS_DEC_MODE_IVAS ) ) != IVAS_ERR_OK ) /* note: only switching within IVAS formats is supported in non-RTP VoIP */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#else - IVAS_DEC_BS_FORMAT tempBsFormat; - if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &tempBsFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); - goto cleanup; - } - - IVAS_DEC_MODE newDecModeInPacket = ( tempBsFormat == IVAS_DEC_BS_MONO ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; - if ( ( error = restartDecoder( - &hIvasDec, - newDecModeInPacket, - &arg, - NULL, /* ToDo : Provide rendererConfig */ - NULL /* ToDo : Provide LS Custom Data */ - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nFailed to restart decoder\n" ); - goto cleanup; - } - - *phIvasDec = hIvasDec; /* Update for main()' s free */ -#endif bitstreamReadDone = false; parametersAvailableForEditing = false; } @@ -4037,110 +3855,4 @@ static ivas_error load_hrtf_from_file( return IVAS_ERR_OK; } -#ifndef FIX_FMSW_DEC -/*---------------------------------------------------------------------* - * restartDecoder() - * - * Restart decoder in case of IVAS 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 ) -{ - ivas_error error = IVAS_ERR_OK; - IVAS_DEC_HANDLE hIvasDec; - - if ( phIvasDec == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - if ( NULL != *phIvasDec ) - { - IVAS_DEC_Close( phIvasDec ); - } - - if ( ( error = IVAS_DEC_Open( phIvasDec, decMode ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Open failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - arg->decMode = decMode; - - hIvasDec = *phIvasDec; - - uint16_t aeID = arg->aeSequence.count > 0 ? arg->aeSequence.pID[0] : IVAS_DEFAULT_AEID; - - IVAS_AUDIO_CONFIG outputConfig = ( decMode == IVAS_DEC_MODE_IVAS ) ? arg->outputConfig : IVAS_AUDIO_CONFIG_MONO; - - if ( ( error = IVAS_DEC_Configure( hIvasDec, arg->output_Fs, outputConfig, arg->render_num_subframes, 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 ) - { - fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - 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_GetRenderNumSubfr( hIvasDec, &arg->render_num_subframes ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_GetRenderNumSubfr failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - if ( arg->voipMode ) - { - if ( ( error = IVAS_DEC_EnableVoIP( hIvasDec, 60, arg->inputFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nCould not enable VOIP: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - /* 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->render_num_subframes * 5; - } - - if ( arg->renderConfigEnabled && renderConfig != NULL ) - { - if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, *renderConfig ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - if ( arg->customLsOutputEnabled && hLsCustomData != NULL ) - { - if ( ( error = IVAS_DEC_FeedCustomLsData( hIvasDec, *hLsCustomData ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_FeedCustomLsData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - return IVAS_ERR_OK; - -cleanup: - IVAS_DEC_Close( phIvasDec ); - - return error; -} -#endif #undef WMC_TOOL_SKIP diff --git a/apps/encoder.c b/apps/encoder.c index b3a35930416892f9650668243c74cfdf09d9c165..d5c277de393cd42fbb8f94466c39fd4ec84d5497 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "stl.h" #include "lib_enc.h" #include "cmdl_tools.h" @@ -49,27 +18,13 @@ #include "wmc_auto.h" -#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 /*------------------------------------------------------------------------------------------* * Local constants, enums *------------------------------------------------------------------------------------------*/ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ @@ -84,10 +39,6 @@ typedef union _EncInputFormatConfig /* MONO details */ bool stereoToMonoDownmix; -#ifdef DEBUGGING - /* STEREO details */ - IVAS_ENC_STEREO_MODE stereoMode; -#endif /* ISM details */ struct EncIsmConfig @@ -152,13 +103,6 @@ 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; bool rtpdumpOutput; @@ -178,10 +122,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 /*------------------------------------------------------------------------------------------* @@ -211,9 +151,6 @@ int main( int16_t *pcmBuf = NULL; RotFileReader *sceneOrientationFileReader = NULL; RotFileReader *deviceOrientationFileReader = NULL; -#ifdef DEBUGGING - FILE *f_forcedModeProfile = NULL; -#endif #ifdef WMOPS reset_wmops(); @@ -363,7 +300,6 @@ int main( } } -#ifdef FIX_FMSW_DEC /*------------------------------------------------------------------------------------------* * Open remote requests file for rtp packing (E-bytes) *------------------------------------------------------------------------------------------*/ @@ -383,7 +319,6 @@ int main( goto cleanup; } } -#endif /*------------------------------------------------------------------------------------------* * Handle Channel-aware mode @@ -414,14 +349,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 @@ -437,11 +364,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; @@ -589,20 +512,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 @@ -678,19 +587,6 @@ int main( } } -#ifndef FIX_FMSW_DEC - /*------------------------------------------------------------------------------------------* - * Open remote requests file for rtp packing (E-bytes) - *------------------------------------------------------------------------------------------*/ - if ( arg.requestsFileName != NULL ) - { - if ( ( error = RequestsFileReader_open( arg.requestsFileName, &requestsFileReader ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError: Can't open requests file %s \n\n", arg.requestsFileName ); - goto cleanup; - } - } -#endif /*------------------------------------------------------------------------------------------* * Run the encoder *------------------------------------------------------------------------------------------*/ @@ -793,31 +689,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 ) @@ -1080,13 +951,6 @@ static bool parseCmdlIVAS_enc( arg->rtpdumpOutput = false; arg->sceneOrientationTrajFileName = NULL; arg->deviceOrientationTrajFileName = NULL; -#ifdef DEBUGGING - arg->forcedMode = IVAS_ENC_FORCE_UNFORCED; - arg->forcedModeFile = NULL; -#ifdef DEBUG_FORCE_DIR - arg->forcedModeDir = NULL; -#endif -#endif arg->pca = false; /*-----------------------------------------------------------------* @@ -1199,83 +1063,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 @@ -1379,78 +1166,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 ) { @@ -2133,18 +1848,6 @@ 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" ); fprintf( stdout, "-rtpdump : RTPDump output, hf_only=1 by default. The encoder will packetize the \n" ); @@ -2246,170 +1949,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 c3fe556c8a02adc4ac7793d748f7b4a9a6e5391b..2c8764fbb0d90ab5fdd817bbad84ad9a2515ed4a 100644 --- a/apps/isar_post_rend.c +++ b/apps/isar_post_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "lib_isar_post_rend.h" #include @@ -42,9 +14,6 @@ #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" #include "ivas_rtp_file.h" @@ -63,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; @@ -1464,17 +1433,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 @@ -1506,9 +1464,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 8c48c97c6cd70fcb739f891bd3196a4fb46248ea..56e39898faa1202351c565c59b9e5bb7affbc25a 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "lib_rend.h" #include "typedef.h" @@ -76,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; @@ -732,9 +704,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; @@ -1174,7 +1143,6 @@ int main( fprintf( stderr, "\nError in Renderer Config Init: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#ifdef FIX_1452_DEFAULT_REVERB if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { @@ -1220,7 +1188,6 @@ int main( goto cleanup; } } -#endif if ( args.renderConfigFilePath[0] != '\0' ) { @@ -1246,13 +1213,11 @@ int main( fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath ); goto cleanup; } -#ifdef FIX_2500_RENDCONF_REFACTOR if ( RenderConfigReader_checkValues( renderConfigReader ) != IVAS_ERR_OK ) { fprintf( stderr, "Invalid renderer configuration parameters\n\n" ); goto cleanup; } -#endif if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.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", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] ); @@ -1266,27 +1231,11 @@ int main( if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { aeID = args.aeSequence.count > 0 ? args.aeSequence.pID[0] : IVAS_DEFAULT_AEID; -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, aeID, &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nFailed to get acoustic environment with ID: %d\n\n", aeID ); goto cleanup; } -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nInvalid room acoustics configuration parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); - goto cleanup; - } -#endif } /* ISAR frame size is set from command line, not renderer config file. @@ -1731,27 +1680,11 @@ int main( args.aeSequence.selected = 0; } args.aeSequence.frameCounter = 0; -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, args.aeSequence.pID[args.aeSequence.selected], &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nFailed to get acoustic environment with ID %d\n\n", args.aeSequence.pID[args.aeSequence.selected] ); goto cleanup; } -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, args.aeSequence.pID[args.aeSequence.selected], &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Invalid acoustic environment configuration parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID %d\n\n", args.aeSequence.pID[args.aeSequence.selected] ); - goto cleanup; - } -#endif if ( ( error = IVAS_REND_FeedRenderConfig( hIvasRend, renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_REND_FeedRenderConfig failed: %s\n\n", ivas_error_to_string( error ) ); @@ -3203,11 +3136,7 @@ static void IsmPositionProvider_getNextFrame( } -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW /* Wrap azimuth to lie within (0, 360] range */ -#else - /* Wrap azimuth to lie within (-180, 180] range */ -#endif while ( LT_32( objectMetadataBuffer->positions[objIdx].azimuth_fx, 0 ) ) { @@ -3218,13 +3147,11 @@ static void IsmPositionProvider_getNextFrame( objectMetadataBuffer->positions[objIdx].azimuth_fx = L_sub( objectMetadataBuffer->positions[objIdx].azimuth_fx, DEG_360_IN_Q22 ); } -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( objectMetadataBuffer->positions[objIdx].non_diegetic_flag && objectMetadataBuffer->positions[objIdx].azimuth_fx >= DEG_180_IN_Q22 ) { /* Wrap azimuth to lie within [-180, 180) range for non-diegetic panning */ objectMetadataBuffer->positions[objIdx].azimuth_fx = L_sub( objectMetadataBuffer->positions[objIdx].azimuth_fx, DEG_360_IN_Q22 ); } -#endif /* Clamp elevation to lie within [-90, 90] range (can't be wrapped easily) */ objectMetadataBuffer->positions[objIdx].elevation_fx = L_min( L_max( objectMetadataBuffer->positions[objIdx].elevation_fx, -DEG_90_IN_Q22 ), DEG_90_IN_Q22 ); diff --git a/lib_basop/basop32.c b/lib_basop/basop32.c index 1b9ef845d8792aba2a0b89569d297bc7d1f8e8ca..3cda5910ce8cdf7506b86d38c52dd5e4b27122f2 100644 --- a/lib_basop/basop32.c +++ b/lib_basop/basop32.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* v.2.3 - 30.Nov.2009 ============================================================================= @@ -896,7 +868,6 @@ Word16 shr_o( Word16 var1, Word16 var2, Flag *Overflow ) Word16 shr( Word16 var1, Word16 var2 ) { -#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC Flag Overflow; Word16 result; @@ -908,9 +879,6 @@ Word16 shr( Word16 var1, Word16 var2 ) assert( 0 ); } return result; -#else - return shr_o( var1, var2, NULL ); -#endif } Word16 shr_sat( Word16 var1, Word16 var2 ) { diff --git a/lib_basop/basop32.h b/lib_basop/basop32.h index 7fe294167c38a962ea16d6b8dfbbdb14cb52384b..4241580e22325297c608218143acf295823f8860 100644 --- a/lib_basop/basop32.h +++ b/lib_basop/basop32.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/complex_basop.c b/lib_basop/complex_basop.c index f8006ed46ac18c3a8bb5722ff8af8ab6d6ef27c7..60f40fc514a800bedde447c6d00c2ab17e7751f8 100644 --- a/lib_basop/complex_basop.c +++ b/lib_basop/complex_basop.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * diff --git a/lib_basop/complex_basop.h b/lib_basop/complex_basop.h index bf1641e749960b5fdf2c9ee4130ebce852f39c81..05b3a79cfa27ae5ad7f8f98a886c0ca3c2e7a91e 100644 --- a/lib_basop/complex_basop.h +++ b/lib_basop/complex_basop.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * diff --git a/lib_basop/enh1632.c b/lib_basop/enh1632.c index f397c3432b9dc63b6a376cfb394e3efb50a82bc0..d4250daa4355cd715fcd9760c1721382df285334 100644 --- a/lib_basop/enh1632.c +++ b/lib_basop/enh1632.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== File: ENH1632.C v.2.3 - 30.Nov.2009 diff --git a/lib_basop/enh1632.h b/lib_basop/enh1632.h index f91494fb137d799d461cca6afa5bbfa5b160ba39..12d2eb382c7bb07d607c33e7bbba07fde163e9c1 100644 --- a/lib_basop/enh1632.h +++ b/lib_basop/enh1632.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== File: ENH1632.H v.2.3 - 30.Nov.2009 diff --git a/lib_basop/enh32.c b/lib_basop/enh32.c index d2931dd5da697b0410a425adf4163018800cd5bf..e5c58fd76459ca94f2b585a4f11632bcb7147162 100644 --- a/lib_basop/enh32.c +++ b/lib_basop/enh32.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * * Enhanced 32 bit operators : diff --git a/lib_basop/enh32.h b/lib_basop/enh32.h index 1d275cdd26834f7c04572763575f65c1d7bf00d6..90fb643791fbb38fa4e638b8762c0416ae8054a5 100644 --- a/lib_basop/enh32.h +++ b/lib_basop/enh32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _ENH32_H #define _ENH32_H diff --git a/lib_basop/enh40.c b/lib_basop/enh40.c index 57df99e5c706d64c70ceadb659e837d93f8e244c..593c8cdac45f39ce278573ec9f6384523afb6fd2 100644 --- a/lib_basop/enh40.c +++ b/lib_basop/enh40.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/enh40.h b/lib_basop/enh40.h index 8cfb0c6009194f2c88e2a6713d91f3440515ce1c..dfce706ea2320fb464b616afec7861d37fa62f90 100644 --- a/lib_basop/enh40.h +++ b/lib_basop/enh40.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/enh64.c b/lib_basop/enh64.c index 8bffb620cc8dfb0b2164e718b83fa365fb048430..7456f4c0b072f6022fce9130d6cb62554443c5b6 100644 --- a/lib_basop/enh64.c +++ b/lib_basop/enh64.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * * Enhanced 64 bit operators : diff --git a/lib_basop/enh64.h b/lib_basop/enh64.h index c3896bb0d257aa053df48da5c84948b8255e0401..9276c78bd2e70e641c1427a027d93a275e0ca89c 100644 --- a/lib_basop/enh64.h +++ b/lib_basop/enh64.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _ENH64_H #define _ENH64_H diff --git a/lib_basop/enhUL32.c b/lib_basop/enhUL32.c index 5650821200a63bc8404fbb31286f78d2d60c27ef..185dcf3282c5fe9df58dd0617e3b3c7a05d4c405 100644 --- a/lib_basop/enhUL32.c +++ b/lib_basop/enhUL32.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* ============================================================================ File: ENHUL32.C v.1.0 - 01.July.2018 diff --git a/lib_basop/enhUL32.h b/lib_basop/enhUL32.h index d200342b4b24e054ba0e5b92fea5b34d3ed37718..8e2c9de3101393ebdfa5e5fe2110ae4a68729e5f 100644 --- a/lib_basop/enhUL32.h +++ b/lib_basop/enhUL32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* ============================================================================ File: ENHUL32.H v.1.0 - 01.July.2018 diff --git a/lib_basop/move.h b/lib_basop/move.h index 7f10031193e1add29631c97ce50536d6645966bb..8b02febf5e352fe16e721af40d371d7a816d3abb 100644 --- a/lib_basop/move.h +++ b/lib_basop/move.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_basop/stl.h b/lib_basop/stl.h index 6badc3bcfc758809a0063793ddef05fb68061813..4fe4467b61608df955755271eb94c8bf733835af 100644 --- a/lib_basop/stl.h +++ b/lib_basop/stl.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_basop/typedef.h b/lib_basop/typedef.h index 9968d4c84cba87fc0435c0737579b64448365196..00effd03fb5baad66221a230989cec8e74d6a269 100644 --- a/lib_basop/typedef.h +++ b/lib_basop/typedef.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_basop/typedefs.h b/lib_basop/typedefs.h index 001f3f1647c4ed00dd47fd28101a3f20a3c52c1b..00ab379363dd7df99813eebd5e437ab2fc7b8e32 100644 --- a/lib_basop/typedefs.h +++ b/lib_basop/typedefs.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== File: TYPEDEFS.H v.2.3 - 30.Nov.2009 diff --git a/lib_com/ACcontextMapping_fx.c b/lib_com/ACcontextMapping_fx.c index 19cbea1a4b8f9b74cbbbd4a9310bc43b86dff046..884e03880b49ec70d0f38a443f16896b3da16099 100644 --- a/lib_com/ACcontextMapping_fx.c +++ b/lib_com/ACcontextMapping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/ari_fx.c b/lib_com/ari_fx.c index 32bb550b28a310bcad2612ce1ad93a32ac29d961..c3746a1d511e438525aa7314127b51d736db8cd3 100644 --- a/lib_com/ari_fx.c +++ b/lib_com/ari_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -9,27 +12,6 @@ #include "cnst.h" -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC -/** - * \brief 31x16 Bit multiply (x*y) - * - * \param[i] xh high part, bit [30..15] - * \param[i] xl low part, 15 LSBits - * \param[i] y - * - * \return x*y - */ -Word32 L_multi31x16_X2( Word16 xh, Word16 xl, Word16 y ) -{ - Word32 z; - - z = L_shl( L_mult0( xh, y ), 15 ); - z = L_mac0( z, xl, y ); - - return z; -} -#endif - /*--------------------------------------------------------------- Ari 14 bits common routines -------------------------------------------------------------*/ diff --git a/lib_com/ari_hm_fx.c b/lib_com/ari_hm_fx.c index e52e783f87aa6c9a5c75d10685d6a4ab2603a8ef..650ac4b8b0b701a56241c7c3fd06d40cf1ba4547 100644 --- a/lib_com/ari_hm_fx.c +++ b/lib_com/ari_hm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/arith_coder_fx.c b/lib_com/arith_coder_fx.c index 2467df93adce81959f72fe6f564e1b7a4d592bfe..d9d1c1eb6bc523f4e99f7b34e0abd7d89c13e2c1 100644 --- a/lib_com/arith_coder_fx.c +++ b/lib_com/arith_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c index 182ab57bb4589ef47c4134e06d509d7f006c1d8f..a070dfa3193cef721de53f26e5d6fcb230c5b0c0 100644 --- a/lib_com/basop_com_lpc.c +++ b/lib_com/basop_com_lpc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c index 9cb5d918052f186595cad20dde18395bcba7a7d8..04de2b6b3d7929d41a1421b91e52c0f90e47ad55 100644 --- a/lib_com/basop_lsf_tools.c +++ b/lib_com/basop_lsf_tools.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_proto_func.h b/lib_com/basop_proto_func.h index 845d14a27604a2a08030620bbb5be4d82dabee20..008d568b64c4fbe31f4e61e91d7df7892726cee2 100644 --- a/lib_com/basop_proto_func.h +++ b/lib_com/basop_proto_func.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_settings.h b/lib_com/basop_settings.h index 6d1d513a2fdd79ddd2a0dd71f2afe9e1f70ac19d..d1fcd16fd1d11a096e6d74da48812069103772e0 100644 --- a/lib_com/basop_settings.h +++ b/lib_com/basop_settings.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c index 60200d9688391b78b59399f1a592a140dd8e2b8a..dd83d9d127a650f605e133ad968df5fc6aeac467 100644 --- a/lib_com/basop_tcx_utils.c +++ b/lib_com/basop_tcx_utils.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c index 335f61c1e5d300df92356059d3064030f3db7351..2f1c4fe878992e1b39539375def073e8f305fa51 100644 --- a/lib_com/basop_util.c +++ b/lib_com/basop_util.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_util.h b/lib_com/basop_util.h index d5283043068cc058b96c41460f52b8c63d1189dc..83de824eb0b98ab92b915d018e88d27aa6c7795a 100644 --- a/lib_com/basop_util.h +++ b/lib_com/basop_util.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/bitalloc_fx.c b/lib_com/bitalloc_fx.c index 5dc4720470b65423ef89c72200f56a01997a60ba..ffa327f4396696170bbf57655095affe429adbc4 100644 --- a/lib_com/bitalloc_fx.c +++ b/lib_com/bitalloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/bitallocsum_fx.c b/lib_com/bitallocsum_fx.c index d052b81875e95c665b9a6beda28420995760f882..967b449d2e06ed47cabff537fc44c4e43b036ee0 100644 --- a/lib_com/bitallocsum_fx.c +++ b/lib_com/bitallocsum_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/bits_alloc_fx.c b/lib_com/bits_alloc_fx.c index 7201963162d9caae73d257420eecd3909cfaa3e4..4a41e6726d951c956f1b2c0f4ceb88a0edccba2c 100644 --- a/lib_com/bits_alloc_fx.c +++ b/lib_com/bits_alloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1746,9 +1749,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 92f09b498c391e7ef8cffd0273ee5700a35bdcc8..4d458fa4208fb7097a7f1d94f1ce76f99c134b1e 100644 --- a/lib_com/bitstream_fx.c +++ b/lib_com/bitstream_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -48,23 +20,7 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#ifdef DBG_BITSTREAM_ANALYSIS -#include -#endif -#endif - -#ifdef DEBUGGING - -#define FEC_SEED 12558 -/*-------------------------------------------------------------------* - * Global variables - *--------------------------------------------------------------------*/ - -FILE *FEC_pattern = NULL; /* FEC pattern file (for simulation of FEC) */ -#endif #define STEP_MAX_NUM_INDICES 100 /* increase the maximum number of allowed indices in the list by this amount */ @@ -359,9 +315,6 @@ ivas_error ind_list_realloc( { new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif move16(); move16(); } @@ -373,9 +326,6 @@ ivas_error ind_list_realloc( FOR( ; i < max_num_indices; i++ ) { new_ind_list[i].nb_bits = -1; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( new_ind_list[i].function_name, "RESET in ind_list_realloc" ); -#endif move16(); } @@ -971,9 +921,6 @@ void move_indices( move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif old_ind_list[i].nb_bits = -1; move16(); } @@ -988,15 +935,9 @@ void move_indices( move16(); move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif old_ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( old_ind_list[i].function_name, "RESET in move_indices" ); -#endif } } @@ -1026,9 +967,6 @@ ivas_error check_ind_list_limits( /* the re-allocation can be avoided by increasing the limits in get_ivas_max_num_indices() or get_ivas_max_num_indices_metadata() */ IF( GE_16( (Word16) ( &hBstr->ind_list[hBstr->nb_ind_tot] - ivas_ind_list_zero ), *( hBstr->ivas_max_num_indices ) ) ) { -#ifdef DEBUGGING - fprintf( stderr, "Warning: The maximum number of indices %d has been exceeded in frame %d! Increase the limits in get_ivas_max_num_indices() or get_max_num_indices_metadata().\n", *( hBstr->ivas_max_num_indices ), frame ); -#endif /* reallocate the buffer of indices with increased limit */ IF( NE_32( ( error = ind_list_realloc( *hBstr->ivas_ind_list_zero, *( hBstr->ivas_max_num_indices ) + STEP_MAX_NUM_INDICES, hBstr->st_ivas ) ), IVAS_ERR_OK ) ) @@ -1042,9 +980,6 @@ ivas_error check_ind_list_limits( { IF( hBstr->nb_ind_tot == 0 ) { -#ifdef DEBUGGING - fprintf( stderr, "Warning: Trying to overwrite an existing indice ID = %d in frame %d!\n", hBstr->ind_list[hBstr->nb_ind_tot].id, frame ); -#endif /* move the pointer to the next available empty slot */ ivas_ind_list_last = &ivas_ind_list_zero[*( hBstr->ivas_max_num_indices )]; WHILE( hBstr->ind_list[0].nb_bits > 0 && hBstr->ind_list < ivas_ind_list_last ) @@ -1054,9 +989,6 @@ ivas_error check_ind_list_limits( IF( hBstr->ind_list >= ivas_ind_list_last ) { -#ifdef DEBUGGING - fprintf( stderr, "Warning: The maximum number of indices %d has been exceeded in frame %d! Increase the limits in get_ivas_max_num_indices() or get_max_num_indices_metadata().\n", *( hBstr->ivas_max_num_indices ), frame ); -#endif /* no available empty slot -> need to re-allocate the buffer */ IF( NE_32( ( error = ind_list_realloc( *hBstr->ivas_ind_list_zero, *( hBstr->ivas_max_num_indices ) + STEP_MAX_NUM_INDICES, hBstr->st_ivas ) ), IVAS_ERR_OK ) ) @@ -1067,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() @@ -2973,27 +1026,11 @@ ivas_error push_indice( error = IVAS_ERR_OK; move32(); -#ifdef DEBUGGING - if ( nb_bits < ( 32 - 1 ) && ( value >> nb_bits ) > 0 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice ID = %d with value %d exceeds the range of %d bits (frame %d) !\n", id, value, nb_bits, frame ); - } - - if ( nb_bits > 16 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice ID = %d with value %d is trying to allocate %d bits which exceeds 16 bits (frame %d) !\n", id, value, nb_bits, frame ); - } - -#endif /* 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 */ @@ -3014,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(); @@ -3028,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(); @@ -3049,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 */ @@ -3066,18 +1092,6 @@ ivas_error push_next_indice( error = IVAS_ERR_OK; move32(); -#ifdef DEBUGGING - if ( nb_bits < ( 32 - 1 ) && ( value >> nb_bits ) > 0 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice with value %d exceeds the range of %d bits (frame %d) !\n", value, nb_bits, frame ); - } - - if ( nb_bits > 16 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice with value %d is trying to allocate %d bits which exceeds 16 bits !\n", value, nb_bits ); - } - -#endif /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) @@ -3104,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 ); @@ -3123,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 */ @@ -3165,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(); @@ -3193,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(); @@ -3289,9 +1281,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++; @@ -3304,9 +1293,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 sub( i, j ); @@ -3573,9 +1559,6 @@ static Word16 write_indices_to_stream_fx( Word16 i, k; Word16 value, nb_bits; UWord16 mask; -#ifdef ENABLE_BITRATE_VERIFICATION - int16_t total_nb_bits = 0; -#endif FOR( i = 0; i < num_indices; i++ ) { @@ -3586,9 +1569,6 @@ static Word16 write_indices_to_stream_fx( IF( nb_bits > 0 ) { -#ifdef ENABLE_BITRATE_VERIFICATION - total_nb_bits += nb_bits; -#endif /* mask from MSB to LSB */ mask = (UWord16) L_shl( 1, sub( nb_bits, 1 ) ); @@ -3611,22 +1591,8 @@ static Word16 write_indices_to_stream_fx( mask = (UWord16) L_shr( mask, 1 ); } } -#ifdef DEBUGGING - else if ( nb_bits == 0 ) - { - /* fprintf( stderr, "Warning: %s: nb_bits == 0!\n", __func__ ); */ - } - else - { - /* fprintf( stderr, "Warning: %s: nb_bits == %d!\n", __func__, nb_bits ); */ - } -#endif } -#ifdef ENABLE_BITRATE_VERIFICATION - return total_nb_bits; -#else return 0; -#endif } @@ -3653,9 +1619,6 @@ static ivas_error write_indices_element_fx( Indice *ind_list_metadata; Word16 n, n_channels; -#ifdef ENABLE_BITRATE_VERIFICATION - int16_t total_nb_bits; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -3703,12 +1666,6 @@ static ivas_error write_indices_element_fx( move16(); } } -#ifdef DEBUGGING - else - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: Bitstream writing error in frame %d. Exiting!\n", frame ); - } -#endif } n_channels = 1; @@ -3741,105 +1698,21 @@ static ivas_error write_indices_element_fx( pt_stream_loc += nb_bits_tot_metadata - 1; pt_stream_end = pt_stream_loc + 1; -#ifdef ENABLE_BITRATE_VERIFICATION - total_nb_bits = -#endif - write_indices_to_stream_fx( ind_list_metadata, &pt_stream_loc, -1, - nb_ind_tot_metadata ); + write_indices_to_stream_fx( ind_list_metadata, &pt_stream_loc, -1, + nb_ind_tot_metadata ); -#ifdef ENABLE_BITRATE_VERIFICATION - if ( total_nb_bits != nb_bits_tot_metadata ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Bitstream write size mismatch! Written bits: %d vs. Reference bits: %d\n", total_nb_bits, nb_bits_tot_metadata ); - } -#endif /* restore previous pointer position */ pt_stream_loc = pt_stream_backup; } -#ifdef ENABLE_BITRATE_VERIFICATION - total_nb_bits = -#endif - write_indices_to_stream_fx( sts[n]->hBstr->ind_list, &pt_stream_loc, 1, - sts[n]->hBstr->nb_ind_tot ); + write_indices_to_stream_fx( sts[n]->hBstr->ind_list, &pt_stream_loc, 1, + sts[n]->hBstr->nb_ind_tot ); -#ifdef ENABLE_BITRATE_VERIFICATION - if ( total_nb_bits != sts[n]->hBstr->nb_bits_tot ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Bitstream write size mismatch! Written bits: %d vs. Reference bits: %d\n", total_nb_bits, sts[n]->hBstr->nb_bits_tot ); - } -#endif if ( pt_stream_loc > pt_stream_end ) { pt_stream_end = pt_stream_loc; } } -#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 @@ -3890,11 +1763,6 @@ ivas_error write_indices_ivas_fx( { Word16 i, n; UWord16 *pt_stream; -#ifdef ENABLE_BITRATE_VERIFICATION - Encoder_State **sts; - int32_t ivas_total_brate; - int16_t ch; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -3907,45 +1775,6 @@ ivas_error write_indices_ivas_fx( move16(); } -#ifdef ENABLE_BITRATE_VERIFICATION - i = 0; - - for ( n = 0; n < st_ivas->nSCE; n++ ) - { - sts = st_ivas->hSCE[n]->hCoreCoder; - i += sts[0]->hBstr->nb_bits_tot; - - if ( st_ivas->hSCE[n]->hMetaData != NULL ) - { - i += st_ivas->hSCE[n]->hMetaData->nb_bits_tot; - } - } - - for ( n = 0; n < st_ivas->nCPE; n++ ) - { - sts = st_ivas->hCPE[n]->hCoreCoder; - for ( ch = 0; ch < CPE_CHANNELS; ch++ ) - { - i += sts[ch]->hBstr->nb_bits_tot; - } - - if ( st_ivas->hCPE[n]->hMetaData != NULL ) - { - i += st_ivas->hCPE[n]->hMetaData->nb_bits_tot; - } - } - - ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; - if ( st_ivas->hEncoderConfig->Opt_SC_VBR ) - { - ivas_total_brate = st_ivas->hSCE[0]->hCoreCoder[0]->total_brate; - } - - if ( i * FRAMES_PER_SEC != ivas_total_brate && i >= ACELP_11k60 / FRAMES_PER_SEC ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Bitstream write size mismatch! Actual bitrate: %ld vs. Reference bitrate: %d\n", i * 50L, ivas_total_brate ); - } -#endif /*-----------------------------------------------------------------* * Encode Payload @@ -3982,10 +1811,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 ) { @@ -4003,24 +1828,13 @@ 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(); } @@ -4078,9 +1892,6 @@ static void decoder_selectCodec( move16(); BREAK; default: /* validate that total_brate (derived from RTP packet or a file header) is one of the defined bitrates */ -#ifdef DEBUGGING - IVAS_ERROR( IVAS_ERR_INTERNAL, "Error illegal total bitrate (= %d) \n", total_brate ); -#endif st->codec_mode = st->last_codec_mode; move16(); st->bfi = 1; @@ -4174,12 +1985,6 @@ static void dec_prm_core( Decoder_State *st ) BREAK; } } -#ifdef DEBUGGING - if ( n == FRAME_SIZE_NB ) - { - assert( !"Bitrate not supported: not part of EVS" ); - } -#endif /* Get bandwidth mode */ st->bwidth = get_next_indice_fx( st, FrameSizeConfig[frame_size_index].bandwidth_bits ); @@ -4299,9 +2104,6 @@ static void decision_matrix_core_dec( WHILE( acelp_sig_tbl[start_idx] != st->total_brate ) { start_idx = add( start_idx, 1 ); -#ifdef DEBUGGING - assert( ( start_idx < 194 ) && "ERROR: start_idx larger than acelp_sig_tbl[].\n" ); -#endif } /* skip the bitrate */ @@ -4574,58 +2376,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() @@ -4662,21 +2412,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 ); diff --git a/lib_com/cb_shape_fx.c b/lib_com/cb_shape_fx.c index c300589941303e3df0c5b0b1dd7610363245b92e..5f8f8768938c1cb83222678cba390bd417ebd9bc 100644 --- a/lib_com/cb_shape_fx.c +++ b/lib_com/cb_shape_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/cldfb_evs_fx.c b/lib_com/cldfb_evs_fx.c index 2d611b27ef9e811c8264b761cebe6ee89838e7ef..cf10eae536642861595136567ab5d67d56f62980 100644 --- a/lib_com/cldfb_evs_fx.c +++ b/lib_com/cldfb_evs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1216,12 +1219,8 @@ void analysisCldfbEncoder_fx( &enerScale.lb_scale16 ); /* get the energy */ -#ifdef HARMONIZE_2564_GetEnergyCldfb GetEnergyCldfb( EVS_MONO, -#else - GetEnergyCldfb( -#endif &st_fx->energyCoreLookahead_Fx, &st_fx->sf_energyCoreLookahead_Fx, num_slots, @@ -1240,12 +1239,8 @@ void analysisCldfbEncoder_fx( } -#ifdef HARMONIZE_2564_GetEnergyCldfb -void GetEnergyCldfb( - Word16 element_mode, /*!< i: | Is IVAS or EVS? */ -#else void GetEnergyCldfb( -#endif + Word16 element_mode, /*!< i: | Is IVAS or EVS? */ Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ @@ -1320,15 +1315,11 @@ void GetEnergyCldfb( move16(); energyValuesSum[j] = L_shr_r( energyValuesSum[j], 1 ); move32(); -#ifdef HARMONIZE_2564_GetEnergyCldfb nrg = L_shr_r( nrg, 1 ); if ( EQ_16( element_mode, EVS_MONO ) ) { -#endif nrg = L_shr_r( energyValues[k][j], 1 ); -#ifdef HARMONIZE_2564_GetEnergyCldfb } -#endif } energyValuesSum[j] = L_add( energyValuesSum[j], nrg ); move32(); diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index 6126a6ee2b6200550a40cfade71d2b58cc9789b7..b018bde2a687313b45b94dc143549d4b62481551 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -55,21 +27,6 @@ static void cldfb_init_proto_and_twiddles( HANDLE_CLDFB_FILTER_BANK hs ); -#ifndef HARMONIZE_2564_GetEnergyCldfb -static void GetEnergyCldfb_ivas_fx( Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ - Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ - const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ - Word16 **realValues, /*!< i: Q(sf_Values) | the real part of the CLDFB subsamples */ - Word16 **imagValues, /*!< i: Q(sf_Values) | the imaginary part of the CLDFB subsamples */ - Word16 sf_Values, /*!< i: scalefactor of the CLDFB subcamples - apply as a negated Exponent */ - Word16 numberBands, /*!< i: Q0 | number of CLDFB bands */ - Word16 numberCols, /*!< i: Q0 | number of CLDFB subsamples */ - Word32 *energyHF, /*!< o: Q31 | pointer to HF energy */ - Word16 *energyHF_Exp, /*!< o: pointer to exponent of HF energy */ - Word32 *energyValuesSum, /*!< o: Q(2*sf_Values-4) | pointer to sum array of energy values, not initialized*/ - Word16 *energyValuesSum_Exp, /*!< o: pointer to exponents of energyValuesSum, not initialized */ - TEC_ENC_HANDLE hTecEnc ); -#endif /*-------------------------------------------------------------------* * cldfbAnalysis_ivas() @@ -1456,167 +1413,6 @@ void resampleCldfb_ivas_fx( return; } -#ifndef HARMONIZE_2564_GetEnergyCldfb -static void GetEnergyCldfb_ivas_fx( - Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ - Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ - const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ - Word16 **realValues, /*!< i: Q(sf_Values) | the real part of the CLDFB subsamples */ - Word16 **imagValues, /*!< i: Q(sf_Values) | the imaginary part of the CLDFB subsamples */ - Word16 sf_Values, /*!< i: scalefactor of the CLDFB subcamples - apply as a negated Exponent */ - Word16 numberBands, /*!< i: Q0 | number of CLDFB bands */ - Word16 numberCols, /*!< i: Q0 | number of CLDFB subsamples */ - Word32 *energyHF, /*!< o: Q31 | pointer to HF energy */ - Word16 *energyHF_Exp, /*!< o: pointer to exponent of HF energy */ - Word32 *energyValuesSum, /*!< o: Q(2*sf_Values-4) | pointer to sum array of energy values, not initialized*/ - Word16 *energyValuesSum_Exp, /*!< o: pointer to exponents of energyValuesSum, not initialized */ - TEC_ENC_HANDLE hTecEnc ) -{ - Word16 j; - Word16 k; - Word16 s; - Word16 sm; - Word32 nrg; - Word16 numberColsL; - Word16 numberBandsM; - Word16 numberBandsM20; - Word32 energyValues[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word16 energyValuesSumE[CLDFB_NO_CHANNELS_MAX]; - // Word16 freqTable[2] = {20, 40}; - - FOR( k = 0; k < numberCols; k++ ) - { - FOR( j = 0; j < numberBands; j++ ) - { - nrg = L_mult0( realValues[k][j], realValues[k][j] ); // Q(2*sf_Values) - nrg = L_mac0( nrg, imagValues[k][j], imagValues[k][j] ); // Q(2*sf_Values) - - energyValues[k][j] = nrg; - move32(); - } - } - - IF( GE_16( numberBands, freqTable[1] ) && hTecEnc != NULL ) - { - Word32 *tempEnergyValuesArry[CLDFB_NO_COL_MAX]; - Word16 ScaleX2; - assert( numberCols == CLDFB_NO_COL_MAX ); - FOR( j = 0; j < numberCols; j++ ) - { - tempEnergyValuesArry[j] = &energyValues[j][0]; - } - - ScaleX2 = shl( sf_Values, 1 ); - calcHiEnvLoBuff_Fix( - numberCols, - freqTable, - 1, - tempEnergyValuesArry, - hTecEnc->loBuffer, - hTecEnc->hiTempEnv, - ScaleX2 ); - } - - FOR( j = 0; j < numberBands; j++ ) - { - energyValuesSum[j] = 0; - move32(); - energyValuesSumE[j] = 31; - move16(); - FOR( k = 0; k < CLDFB_NO_COL_MAX; k++ ) - { - nrg = L_shr_r( energyValues[k][j], sub( energyValuesSumE[j], 31 ) ); // Q(2*sf_Values - (energyValuesSumE[j]-31)) - IF( LT_32( L_sub( maxWord32, nrg ), energyValuesSum[j] ) ) - { - energyValuesSumE[j] = add( energyValuesSumE[j], 1 ); - move16(); - energyValuesSum[j] = L_shr_r( energyValuesSum[j], 1 ); - move32(); - nrg = L_shr_r( nrg, 1 ); - } - energyValuesSum[j] = L_add( energyValuesSum[j], nrg ); - move32(); - } - test(); - if ( j == 0 || GT_16( energyValuesSumE[j], *energyValuesSum_Exp ) ) - { - *energyValuesSum_Exp = energyValuesSumE[j]; - move16(); - } - } - FOR( j = 0; j < numberBands; j++ ) - { - energyValuesSum[j] = L_shr_r( energyValuesSum[j], sub( *energyValuesSum_Exp, energyValuesSumE[j] ) ); // Q(energyValuesSum_Exp - (2*sf_Values)) - move32(); - } - *energyValuesSum_Exp = sub( *energyValuesSum_Exp, shl( sf_Values, 1 ) ); - move16(); - - IF( GT_16( numberBands, 20 ) ) - { - numberBandsM = s_min( numberBands, 40 ); - numberBandsM20 = sub( numberBandsM, 20 ); - - numberColsL = sub( numberCols, numLookahead ); - - /* sum up CLDFB energy above 8 kHz */ - s = BASOP_util_norm_s_bands2shift( i_mult( numberColsL, numberBandsM20 ) ); - s = sub( s, 4 ); - nrg = 0; - move32(); - FOR( k = 0; k < numberColsL; k++ ) - { - FOR( j = 20; j < numberBandsM; j++ ) - { - nrg = L_add_sat( nrg, L_shr_sat( energyValues[k][j], s ) ); - } - } - - s = sub( sub( shl( sf_Values, 1 ), 1 ), s ); - sm = sub( s_min( s, *sf_energyLookahead ), 1 ); - - *energyHF = L_add( L_shr( nrg, limitScale32( sub( s, sm ) ) ), - L_shr( *energyLookahead, sub( *sf_energyLookahead, sm ) ) ); // Q(31-(-nm)) - move32(); - - *energyHF_Exp = negate( sm ); - move16(); - - /* process look-ahead region */ - s = BASOP_util_norm_s_bands2shift( i_mult( numLookahead, numberBandsM20 ) ); - s = sub( s, 2 ); - nrg = 0; - move32(); - FOR( k = numberColsL; k < numberCols; k++ ) - { - FOR( j = 20; j < numberBandsM; j++ ) - { - nrg = L_add_sat( nrg, L_shr_sat( energyValues[k][j], s ) ); - } - } - - s = sub( shl( sf_Values, 1 ), s ); - sm = sub( s_min( s, 44 ), 1 ); - BASOP_SATURATE_WARNING_OFF_EVS - /* nrg + 6.1e-5f => value 0x40000000, scale 44 */ - *energyLookahead = L_add_sat( L_shr_sat( nrg, sub( s, sm ) ), - L_shr_sat( 0x40000000, s_max( -31, s_min( 31, sub( 44, sm ) ) ) ) ); - move32(); - BASOP_SATURATE_WARNING_ON_EVS - *sf_energyLookahead = sm; - move16(); - - return; - } - - - *energyHF = 0x40000000; - move32(); - *energyHF_Exp = 17; - move16(); -} -#endif - void analysisCldfbEncoder_ivas_fx( Encoder_State *st, /* i/o: encoder state structure */ @@ -1677,11 +1473,7 @@ void analysisCldfbEncoder_ivas_fx( move16(); AnalysisPostSpectrumScaling_Fx( st->cldfbAnaEnc, ppBuf_Real, ppBuf_Imag, ppBuf_Real16, ppBuf_Imag16, &enerScale.lb_scale16 ); -#ifdef HARMONIZE_2564_GetEnergyCldfb GetEnergyCldfb( st->element_mode, &st->energyCoreLookahead_Fx, &st->sf_energyCoreLookahead_Fx, 1, ppBuf_Real16, ppBuf_Imag16, enerScale.lb_scale16, st->cldfbAnaEnc->no_channels, st->cldfbAnaEnc->no_col, &st->currEnergyHF_fx, &st->currEnergyHF_e_fx, ppBuf_Ener, enerBuffSum_exp, st->hTECEnc ); -#else - GetEnergyCldfb_ivas_fx( &st->energyCoreLookahead_Fx, &st->sf_energyCoreLookahead_Fx, 1, ppBuf_Real16, ppBuf_Imag16, enerScale.lb_scale16, st->cldfbAnaEnc->no_channels, st->cldfbAnaEnc->no_col, &st->currEnergyHF_fx, &st->currEnergyHF_e_fx, ppBuf_Ener, enerBuffSum_exp, st->hTECEnc ); -#endif return; } diff --git a/lib_com/cng_exc_fx.c b/lib_com/cng_exc_fx.c index 5ba48494eea584f46abc58840f6f013747489a9e..a353c10dadd4cdd56a341f81c46edb960578f85a 100644 --- a/lib_com/cng_exc_fx.c +++ b/lib_com/cng_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/cnst.h b/lib_com/cnst.h index f2f1a64e68ae736c95d6ee90770ccb45ffb658db..8eb62563bfe5379a08a983bdec5ae4deccc7c433 100644 --- a/lib_com/cnst.h +++ b/lib_com/cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -77,22 +49,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 */ diff --git a/lib_com/codec_tcx_common_fx.c b/lib_com/codec_tcx_common_fx.c index 8517668e5779027a75dcbb2329246cc0f5f8425e..2acd3d204f03029567b3e96767774fa3e0f800c9 100644 --- a/lib_com/codec_tcx_common_fx.c +++ b/lib_com/codec_tcx_common_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 3b366fb4c310656f2e32c6fd10ace7e5a8daea21..cc189a614724c2ea6e529cd368e23af0ff0e8e5d 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef COMMON_API_TYPES_H #define COMMON_API_TYPES_H @@ -63,10 +35,8 @@ #define IVAS_ER_LIST_HEIGHT 1.6f #define IVAS_ER_LIST_HEIGHT_FX 6710886 /* 1.6f in Q.22 */ #define IVAS_DEFAULT_AEID 65535 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION -#define IVAS_LISTENER_POSITION_MAX 327.67f -#define IVAS_LISTENER_POSITION_MAX_Q22 1374347592 /* 327.67 in Q22 */ -#endif +#define IVAS_LISTENER_POSITION_MAX 327.67f +#define IVAS_LISTENER_POSITION_MAX_Q22 1374347592 /* 327.67 in Q22 */ /* JBM constants for adaptive-playout */ #define IVAS_TIME_SCALE_MIN 50 /* min. time-scaling [%] */ @@ -164,11 +134,7 @@ typedef struct float x, y, z; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 x_fx, y_fx, z_fx; /* q_fact, q_fact, q_fact */ -#else - Word32 x_fx, y_fx, z_fx; -#endif Word16 q_fact; } IVAS_VECTOR3; @@ -359,11 +325,7 @@ typedef struct _IVAS_RENDER_CONFIG float directivity[IVAS_MAX_NUM_OBJECTS * 3]; Word16 directivity_fx[IVAS_MAX_NUM_OBJECTS * 3]; // has the following q-factor pattern: {6, 6, 15, 6, 6, 15, 6, 6, 15, 6, 6, 15} float distAtt[3]; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 distAtt_fx[3]; /* {Q25, Q28, Q28} */ -#else - Word32 distAtt_fx[3]; /* {Q27, Q30, Q30} */ -#endif } IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c index e2f617a62a9f4d972d44dadfe4c6934a5d42402f..aa045f8bea34fb1dc5458d6105547a8e30161b13 100644 --- a/lib_com/core_com_config_fx.c +++ b/lib_com/core_com_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/deemph_fx.c b/lib_com/deemph_fx.c index e141f9a67e599fdce79f29ffa220862d1f0d3ee5..90a4aa538414a29fda4e5c3ff320b16de91dcada 100644 --- a/lib_com/deemph_fx.c +++ b/lib_com/deemph_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/delay_comp_fx.c b/lib_com/delay_comp_fx.c index 6d82271baa656411bcb691b87776fda3c3713bbc..54efc9d8fde87cce7900ca496ac3f4b4c8d67e33 100644 --- a/lib_com/delay_comp_fx.c +++ b/lib_com/delay_comp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c index b2dab1d06f9664e9a5f0036645fbb8969bfcc8bb..fb37f75fc63459a9e97427f91977ab5dbd112429 100644 --- a/lib_com/disclaimer.c +++ b/lib_com/disclaimer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -45,7 +17,7 @@ Word16 print_disclaimer( FILE *fPtr ) fprintf( fPtr, "\n==================================================================================================\n" ); fprintf( fPtr, "\n" ); - fprintf( fPtr, " 3GPP TS26.251 IVAS Codec Version IVAS-FX-3.1 (fixed-point C-Code)\n" ); + fprintf( fPtr, " 3GPP TS26.251 IVAS Codec Version IVAS-FX-3.1RC01 (fixed-point C-Code)\n" ); fprintf( fPtr, "\n" ); fprintf( fPtr, " Based on EVS Codec (Alternative Fixed Point) 3GPP TS26.452 Nov 04, 2021,\n" ); fprintf( fPtr, " Version 16.4.0\n" ); diff --git a/lib_com/dlpc_bfi_fx.c b/lib_com/dlpc_bfi_fx.c index dffdb982ad888d9964dcf59fe129b8e921e068c6..7d1089a974c76864c2fcde4c4506d19460b5162d 100644 --- a/lib_com/dlpc_bfi_fx.c +++ b/lib_com/dlpc_bfi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/edct_fx.c b/lib_com/edct_fx.c index 3ec5981ae2be1661b2caac52fd46881c8dd90c35..e37f3675d09adb6f3e277e8ea39e2f1c7861264c 100644 --- a/lib_com/edct_fx.c +++ b/lib_com/edct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/enhancer_fx.c b/lib_com/enhancer_fx.c index 6203dcd67c6fccc08523e3840ab752afddc74932..680205004edbd9b90bbc6e9831a6b461ea19d087 100644 --- a/lib_com/enhancer_fx.c +++ b/lib_com/enhancer_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/enr_1_az_fx.c b/lib_com/enr_1_az_fx.c index 108e25c3a87fdbf149ab19f5a8d46ac8c3bc8d93..bdf5d17f8d42561e1cdbdaa29905acbec98fade5 100644 --- a/lib_com/enr_1_az_fx.c +++ b/lib_com/enr_1_az_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/env_adj_fx.c b/lib_com/env_adj_fx.c index 0cf2906d544eb1211ad248a29e67e3e24b8b9700..0a8621fbeb2b2da0b56c9c05bdd7ae77786e3390 100644 --- a/lib_com/env_adj_fx.c +++ b/lib_com/env_adj_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/env_stab_fx.c b/lib_com/env_stab_fx.c index 33c3435dbea4a0ee8af2e8a158b79814c348581a..efdd7eb33d984dfbd6075bf545b26a9b77c581a0 100644 --- a/lib_com/env_stab_fx.c +++ b/lib_com/env_stab_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/env_stab_trans_fx.c b/lib_com/env_stab_trans_fx.c index 63b35b0d56cde4d412c91bf3d70aeb6bfde56c97..a19920895be9636fb1096dd587497986c7a64940 100644 --- a/lib_com/env_stab_trans_fx.c +++ b/lib_com/env_stab_trans_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/est_tilt_fx.c b/lib_com/est_tilt_fx.c index 95e527da0e813e09f3196ef785d0bd7a47095a0a..4cef9cf688e0ad500d91b4ca34a3b01bd59e2845 100644 --- a/lib_com/est_tilt_fx.c +++ b/lib_com/est_tilt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c index 9b13274d8799938f6a6f7df8da87d0eadf8629e9..b5c79dcae082dfc05127f8c12b0f0b1d7461ed33 100644 --- a/lib_com/fd_cng_com_fx.c +++ b/lib_com/fd_cng_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -112,10 +115,8 @@ void initFdCngCom( move16(); hFdCngCom->stopFFTbin = 0; move16(); -#ifdef FIX_1559 hFdCngCom->nFFTpart = 0; move16(); -#endif hFdCngCom->frameSize = 0; move16(); hFdCngCom->fftlen = 0; diff --git a/lib_com/fft_cldfb_fx.c b/lib_com/fft_cldfb_fx.c index 0be5e21942545a7cfa66763f400cdb289d20e4de..f4b71c0e15e574146d231a397dbdf94949f6da3b 100644 --- a/lib_com/fft_cldfb_fx.c +++ b/lib_com/fft_cldfb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/fft_evs.c b/lib_com/fft_evs.c index 5748be95dde18d7656aafc140702a63073b74582..6f9ab7dae7547ad8db76979b319a67f7a232516e 100644 --- a/lib_com/fft_evs.c +++ b/lib_com/fft_evs.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fft_fx.c b/lib_com/fft_fx.c index df681306ad5dd57d2b79a9ca3abadce9bb08859b..079b5817b815fb9503a8cbec9390c6a3a09f649a 100644 --- a/lib_com/fft_fx.c +++ b/lib_com/fft_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/fft_fx_evs.c b/lib_com/fft_fx_evs.c index 5cbfbc2503a3549140d1299ed0d513f7dd40b7d6..316b7b6e4eae47858c9626de89e35e8e77e548d3 100644 --- a/lib_com/fft_fx_evs.c +++ b/lib_com/fft_fx_evs.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fft_rel_fx.c b/lib_com/fft_rel_fx.c index 320bf4aa28db440d966d1943a6af3a2d0e8304c2..6b1edc85885cab888ffef222d3fa034e8bb59361 100644 --- a/lib_com/fft_rel_fx.c +++ b/lib_com/fft_rel_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fill_spectrum_fx.c b/lib_com/fill_spectrum_fx.c index 8dcb7150df7c9df1fff89ed62f07dfbbd3bc4013..2974efed842c397f6730df463a9f29a4b67a7085 100644 --- a/lib_com/fill_spectrum_fx.c +++ b/lib_com/fill_spectrum_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/findpulse_fx.c b/lib_com/findpulse_fx.c index e95daaa698e655b54c9bbe633fc79ddd16b61a8a..af7b13f89dcfc8838031b1bb4f39bd8c0d30b05d 100644 --- a/lib_com/findpulse_fx.c +++ b/lib_com/findpulse_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/fine_gain_bits_fx.c b/lib_com/fine_gain_bits_fx.c index d211a8a67efbcf7f9c023462f0d1d7da43bd0b79..3f2cf7c537b26c018a687149661c584d93e6f246 100644 --- a/lib_com/fine_gain_bits_fx.c +++ b/lib_com/fine_gain_bits_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/frame_ener_fx.c b/lib_com/frame_ener_fx.c index 6e7a6f2a2b199b7990edbe53bc6196368e0f63bf..42a4eca8ce49ff1753582305bd101ea9e646bb50 100644 --- a/lib_com/frame_ener_fx.c +++ b/lib_com/frame_ener_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/gain_inov_fx.c b/lib_com/gain_inov_fx.c index b97f399c072437b8f2b9a629226ec2669b7c1e75..ab0c8b69c22d20923ad207e7d51645bd1a1e922f 100644 --- a/lib_com/gain_inov_fx.c +++ b/lib_com/gain_inov_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/get_gain_fx.c b/lib_com/get_gain_fx.c index 7cf27be0b28700db5352e49015143c173bad6da4..362c1f0067027060f974ce0b89a1c7f426b4e7c9 100644 --- a/lib_com/get_gain_fx.c +++ b/lib_com/get_gain_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/gs_bitallocation_fx.c b/lib_com/gs_bitallocation_fx.c index 67dde91377b1b4cbaf0a159f29e7b211209895c2..a03718ddfc98caf1da6d5241c02a33aa02ced43d 100644 --- a/lib_com/gs_bitallocation_fx.c +++ b/lib_com/gs_bitallocation_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -876,9 +879,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 c1654b43384778914ec6e1e71f04fbfcf5649491..498a303cbf996f4a3d7409ddaf988c7e7af33340 100644 --- a/lib_com/gs_gains_fx.c +++ b/lib_com/gs_gains_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/gs_inact_switching_fx.c b/lib_com/gs_inact_switching_fx.c index db833220ebac37463ea5236e561ab17c4043374a..44fdf1f12072216228130c71b7c4fe5fa9838d72 100644 --- a/lib_com/gs_inact_switching_fx.c +++ b/lib_com/gs_inact_switching_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/gs_noisefill_fx.c b/lib_com/gs_noisefill_fx.c index 534f9edc224ed1c82fc4ec102ad014adbcf4a589..179122481a1a85c8b166692860600c7dfb8e137d 100644 --- a/lib_com/gs_noisefill_fx.c +++ b/lib_com/gs_noisefill_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/gs_preech_fx.c b/lib_com/gs_preech_fx.c index 3f72510410c79dba6fd230d58bc99b64371a2cfb..b15a68b21aa457b6bd5f9910b98186eb7cf7379b 100644 --- a/lib_com/gs_preech_fx.c +++ b/lib_com/gs_preech_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/guided_plc_util_fx.c b/lib_com/guided_plc_util_fx.c index 81723b42661dfb8458e9138428fe564119d5d552..7a11534f4accec92457b225a2b6db5a18b7e3623 100644 --- a/lib_com/guided_plc_util_fx.c +++ b/lib_com/guided_plc_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/hp50_fx.c b/lib_com/hp50_fx.c index 031bca0a7ff8480f2c24cd2ee5e2db4ac5a73b9b..fc55a85aa54fa57991bed349d90487c2e0275e18 100644 --- a/lib_com/hp50_fx.c +++ b/lib_com/hp50_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/hq2_bit_alloc_fx.c b/lib_com/hq2_bit_alloc_fx.c index 40df76cae17dd491ce44a34c6e4462d19e055368..adc07f504a9d0790be2bfd8d97765598dccad0b6 100644 --- a/lib_com/hq2_bit_alloc_fx.c +++ b/lib_com/hq2_bit_alloc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/hq2_core_com_fx.c b/lib_com/hq2_core_com_fx.c index b8ae7880de966f9c8f81877cd86ac98214a53533..a486580a0dca0f48592e071e71127965bade5d92 100644 --- a/lib_com/hq2_core_com_fx.c +++ b/lib_com/hq2_core_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include diff --git a/lib_com/hq2_noise_inject_fx.c b/lib_com/hq2_noise_inject_fx.c index c3b373d51d2efde69fa8044f047776fdf0eea8d1..c2eb42439f6537446c3892875e1e440ff71c45f5 100644 --- a/lib_com/hq2_noise_inject_fx.c +++ b/lib_com/hq2_noise_inject_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/hq_bit_allocation_fx.c b/lib_com/hq_bit_allocation_fx.c index 1ba994e95563081d248f0f56dfa223a5a6a76d47..0693b38009183537143780816a280ac3538cda32 100644 --- a/lib_com/hq_bit_allocation_fx.c +++ b/lib_com/hq_bit_allocation_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/hq_conf_fx.c b/lib_com/hq_conf_fx.c index 5583e231eff6a8e35001d342cae7391a9add8b69..8c9ceb7570d74f3596a30ee1ccbe6dc4f9e26c31 100644 --- a/lib_com/hq_conf_fx.c +++ b/lib_com/hq_conf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/hq_tools_fx.c b/lib_com/hq_tools_fx.c index 1128ec0c67cf77be5f872d391132f8ec7e31275c..78c69da497d4a20e238ec3adbda1288e8e578675 100644 --- a/lib_com/hq_tools_fx.c +++ b/lib_com/hq_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/hvq_pvq_bitalloc_fx.c b/lib_com/hvq_pvq_bitalloc_fx.c index 905749d47d8ca12ecf270991ac0cab4a2082c75b..b2fc6b33b2ad9155787f7b29b797d8b50daaf227 100644 --- a/lib_com/hvq_pvq_bitalloc_fx.c +++ b/lib_com/hvq_pvq_bitalloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/ifft_rel_fx.c b/lib_com/ifft_rel_fx.c index 933925b11bfdb9619a511f76569ad3f436504639..fd87634f06820bd6921bd009007809d579a69db4 100644 --- a/lib_com/ifft_rel_fx.c +++ b/lib_com/ifft_rel_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/igf_base_fx.c b/lib_com/igf_base_fx.c index 7b46451c3f567d2c8151fe2bafcb5513fc780b03..82d3e114a17c290dfe6c0ac83f7a3c21e40a725c 100644 --- a/lib_com/igf_base_fx.c +++ b/lib_com/igf_base_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/index_pvq_opt_fx.c b/lib_com/index_pvq_opt_fx.c index 8e22672278a721c76821f6e4439b12487384bf29..215971d7a15ffacb472edd2510634636bf5e19b7 100644 --- a/lib_com/index_pvq_opt_fx.c +++ b/lib_com/index_pvq_opt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/int_lsp_fx.c b/lib_com/int_lsp_fx.c index ab84c76bbf51544f5b24366b9afb61c883e970c9..042ae93b3343a0ef9c1fb6221b1d65119d7bc401 100644 --- a/lib_com/int_lsp_fx.c +++ b/lib_com/int_lsp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/interleave_spectrum_fx.c b/lib_com/interleave_spectrum_fx.c index 0b04475d9ffbbcfe44bf1a2424764d7a563ede50..566d5f24df27fde08b98038a21315d4821979a5e 100644 --- a/lib_com/interleave_spectrum_fx.c +++ b/lib_com/interleave_spectrum_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/interpol_fx.c b/lib_com/interpol_fx.c index 78c277a216afe4e35bfa54626d7f70a573a5174c..6e05983165dbf4b8bff154c249df167fcd0bd57c 100644 --- a/lib_com/interpol_fx.c +++ b/lib_com/interpol_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/isf_dec_amr_wb_fx.c b/lib_com/isf_dec_amr_wb_fx.c index 0d623b3f636ed0c9eb52fa6a41780ddc7adee1f3..73b82d5fd879c0a2e62d3f43db087f1a6b15232d 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 35a4f1581b85ce82e86f16747181dd57c410e9c8..8da31ae7ad47787582021d47395d2bf40271e8c6 100644 --- a/lib_com/ivas_agc_com_fx.c +++ b/lib_com/ivas_agc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_arith_fx.c b/lib_com/ivas_arith_fx.c index aa261f69daab8bf32323b2299d212927b82d3afb..64fd3aa92425034ac64c01a5d5626639b02d043f 100644 --- a/lib_com/ivas_arith_fx.c +++ b/lib_com/ivas_arith_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 5d05618e1b5eaa0b2fd5469f3e5b78df1c12b240..ab1cff6781fdb6589a51d331d028c05f174f089b 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 9c6c825079de125bda1ee115925c8ae84d560e62..c600bf47cb053a087c537e0b132078819faf65fa 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_CNST_H #define IVAS_CNST_H @@ -847,10 +819,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 */ @@ -1256,12 +1224,8 @@ typedef enum { MASA_STEREO_NOT_DEFINED, MASA_STEREO_SPACED_MICS, -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES MASA_STEREO_DOWNMIX, MASA_DUAL_MONO -#else - MASA_STEREO_DOWNMIX -#endif } MASA_TRANSPORT_SIGNAL_TYPE; typedef enum @@ -1588,11 +1552,9 @@ typedef enum #define RESAMPLE_FACTOR_16_48_FX ( 5461 ) // Q14 #define RESAMPLE_FACTOR_32_48_FX ( 10922 ) // Q14 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #define DIST_ATT_DEFAULT_MAXDIST_Q25 528482304 /* Q25 */ /* Default maxDist based on maximum radius in encoded metadata (2^ISM_RADIUS_NBITS-1)*0.25 */ #define DIST_ATT_DEFAULT_REFDIST_Q28 ONE_IN_Q28 /* Q28 */ /* Default refDist 1.0 in Q28 */ #define DIST_ATT_DEFAULT_ROLLOFF_Q28 ONE_IN_Q28 /* Q28 */ /* Default rolloffFactor 1.0 in Q28 */ -#endif /* ----- Enums - TD Renderer ----- */ @@ -1650,7 +1612,6 @@ typedef enum #define IVAS_REVERB_DEFAULT_M_N_BANDS 31 #define IVAS_REVERB_DEFAULT_S_N_BANDS 60 -#ifdef FIX_1452_DEFAULT_REVERB #define IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX 2013266 /* 0.015f in Q27 */ #define IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX 2684355 /* 0.02f in Q27 */ @@ -1659,7 +1620,6 @@ typedef enum #define IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX 2181038 /* 0.01625f in Q27 */ #define IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX 13421773 /* 0.1f in Q27 */ -#endif #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) @@ -1953,9 +1913,7 @@ typedef enum #define ONE_IN_Q31 0x7fffffff #define ONE_IN_Q45 (Word64)0x200000000000 #define ONE_IN_Q62 (Word64)0x4000000000000000 -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #define MINUS_ONE_IN_Q31 ( -2147483647 - 1 ) /* same as (Word32)0x80000000 */ -#endif #define MAX_WORD16 32767 diff --git a/lib_com/ivas_cov_smooth_fx.c b/lib_com/ivas_cov_smooth_fx.c index c81de63477e3f2399f2ad222f2753e89d43dab1a..0cb9215c6f07e4613d576294340a80b6a70e4cb0 100644 --- a/lib_com/ivas_cov_smooth_fx.c +++ b/lib_com/ivas_cov_smooth_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_dirac_com_fx.c b/lib_com/ivas_dirac_com_fx.c index a6aa486f287121891a105174a5c341014782d452..7dd94698837c37bd86cefe6e7caa138a6feb04a8 100644 --- a/lib_com/ivas_dirac_com_fx.c +++ b/lib_com/ivas_dirac_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_entropy_coder_common_fx.c b/lib_com/ivas_entropy_coder_common_fx.c index fcf388b0c73fd84166c1fe0e8a12445a2ac0682f..3d6ae0a342507f9ce7028cfdb1497a9430921705 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index 3e965151e154406e658655cfc9494cbd62968347..0fc8eef8a6e1218d2a4bd32e1adfc4c84ec41e31 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -93,9 +65,6 @@ typedef enum IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED, IVAS_ERR_TSM_NOT_ENABLED, IVAS_ERR_FETCH_SIZE_NO_MULTIPLE_OF_5MS, -#ifdef DEBUGGING - IVAS_ERR_INVALID_FORCE_MODE, -#endif /*----------------------------------------* * input data errors * @@ -230,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: diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h index 791bc458dfd9dbc9fba9986bed8c8c08631f0371..dedefea550e94bef6e7f6721b70cd844d4564444 100644 --- a/lib_com/ivas_error_utils.h +++ b/lib_com/ivas_error_utils.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" diff --git a/lib_com/ivas_fb_mixer_fx.c b/lib_com/ivas_fb_mixer_fx.c index 3f1cb29e59419e072a55f2454f9200b21810036c..3a49ac865c2e4115393ce617610f16d3c443e011 100644 --- a/lib_com/ivas_fb_mixer_fx.c +++ b/lib_com/ivas_fb_mixer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_filters_fx.c b/lib_com/ivas_filters_fx.c index 5f1b1423b93703d585690fa03dd2bec6fb3543a0..85b73fbc0f9518d4df235d81591210eb7d18b47d 100644 --- a/lib_com/ivas_filters_fx.c +++ b/lib_com/ivas_filters_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c index 43cdf441f8f908a61cc1a0d40d65f78be9443823..6558d082e16bf61fa1b1e4ee961090b4a104b575 100644 --- a/lib_com/ivas_ism_com_fx.c +++ b/lib_com/ivas_ism_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_lfe_com_fx.c b/lib_com/ivas_lfe_com_fx.c index 8047af53ffdadaa5bccd8d628cafd75ee6c9c145..00848a36d408ea56377e5e25f2b83bc197f47703 100644 --- a/lib_com/ivas_lfe_com_fx.c +++ b/lib_com/ivas_lfe_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_limiter_fx.c b/lib_com/ivas_limiter_fx.c index 0ef37acdf183f0003e78b6adc89735ffbfb83ce7..be02a96b9757e5f3d2bbf552dbd6eb2097245143 100644 --- a/lib_com/ivas_limiter_fx.c +++ b/lib_com/ivas_limiter_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_masa_com_fx.c b/lib_com/ivas_masa_com_fx.c index d83ae1d32c90c32b7484529809f6ed8f43ba58df..5032b54295d2195ef8ba1765034bda841731f752 100644 --- a/lib_com/ivas_masa_com_fx.c +++ b/lib_com/ivas_masa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mc_com_fx.c b/lib_com/ivas_mc_com_fx.c index 05414368407bdc39c54f8dd1a04eb458761e6b41..323423bf5888a7dd2c00c7473962d9ea0c9491a7 100644 --- a/lib_com/ivas_mc_com_fx.c +++ b/lib_com/ivas_mc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mc_param_com_fx.c b/lib_com/ivas_mc_param_com_fx.c index 01f8614cdd06d0ee8694db3f10159726a6a1d528..4f28a6991cb2632dc80de71d9f21130565a7647c 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mcmasa_com_fx.c b/lib_com/ivas_mcmasa_com_fx.c index b611b1290aa14eef36fd09e95e27a4e9ea8b3e98..8476c343be2cea95aa3a26eb8a706dcc8ab84372 100644 --- a/lib_com/ivas_mcmasa_com_fx.c +++ b/lib_com/ivas_mcmasa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 bcfada29e48fc0ef926997cc6f40b06b6ed40ef1..37df187572281ea1da77a4fcd6b7ccf496ba22b6 100644 --- a/lib_com/ivas_mct_com_fx.c +++ b/lib_com/ivas_mct_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 ec623fbf1512b3914acf31aa8606c4fa9a15c1aa..f0261ffccc1fb52274b0409d2e215efe903c46ea 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_mdct_imdct_fx.c b/lib_com/ivas_mdct_imdct_fx.c index 6e910289da76873bef63b113dda8d6e22d1e1853..21f417937af3c0dc302e7e65b09fa4595965ae6c 100644 --- a/lib_com/ivas_mdct_imdct_fx.c +++ b/lib_com/ivas_mdct_imdct_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 ae92fddf3070adf3ef2cf446f85e2759c2456815..742dbb4015c6799988c4c44bc417e1c2c4aa5125 100644 --- a/lib_com/ivas_mdft_imdft_fx.c +++ b/lib_com/ivas_mdft_imdft_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "ivas_rom_com.h" #include #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_prot_fx.h" diff --git a/lib_com/ivas_omasa_com_fx.c b/lib_com/ivas_omasa_com_fx.c index e5986879b9525a064a1fbf6225d475feaf3e7c74..a2aabcafef689ea464ec6ecb7fa656287ad476e5 100644 --- a/lib_com/ivas_omasa_com_fx.c +++ b/lib_com/ivas_omasa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_com/ivas_osba_com_fx.c b/lib_com/ivas_osba_com_fx.c index 5527f53898e41e5fbc4f8f70638a81df90912404..284f2385b27380f3df2db6d306f70b3a56470118 100644 --- a/lib_com/ivas_osba_com_fx.c +++ b/lib_com/ivas_osba_com_fx.c @@ -1,41 +1,10 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "ivas_cnst.h" #include "ivas_prot_fx.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 115bf0b69e2779227cf55dd778bbf4611e09f70d..0ad5aad314ed4d5c4adee3560c8304823f81ca07 100644 --- a/lib_com/ivas_pca_tools_fx.c +++ b/lib_com/ivas_pca_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_prot_fx.h b/lib_com/ivas_prot_fx.h index 910e872b250668f076aec21662bc638695d523ce..e4f792e8ee7d47ce019cf222f63bc336a43bdb9a 100644 --- a/lib_com/ivas_prot_fx.h +++ b/lib_com/ivas_prot_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_PROT_FX_H #define IVAS_PROT_FX_H @@ -1173,12 +1145,8 @@ void stereo_dft_dec_fx( Word32 stereo_dft_enc_synthesize_fx( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder stereo handle */ -#ifdef NONBE_FIX_ISSUE_2206 Word32 *output_fx, /* i/o : output synthesis q_output */ Word16 *q_output, /* i/o : output synthesis Q0 */ -#else - Word32 *output_fx, /* o : output synthesis Q16 */ -#endif Word16 *output_start_index, Word16 *output_end_index, const Word16 chan, /* i : channel number */ @@ -1358,12 +1326,8 @@ void stereo_tcx_init_dec_fx( void stereo_icBWE_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel shb_speech_ref_q*/ const Word16 shb_speech_ref_q, /* i : SHB speech ref channel Q */ -#else - const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel Q0*/ -#endif Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ const Word16 *voice_factors_fx /* i : voicing factors Q15 */ @@ -1928,12 +1892,8 @@ ivas_error TDREND_MIX_LIST_SetOrient_fx( void TDREND_MIX_LIST_SetPos_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION const Word32 *Pos_p, /* i : Listener's position */ const Word16 Pos_q /* i : Listener's position Q */ -#else - const Word32 *Pos_p /* i : Listener's position */ -#endif ); ivas_error TDREND_Update_listener_orientation_fx( @@ -2066,11 +2026,7 @@ void destroy_core_dec_fx( ); void ivas_destroy_dec_fx( -#ifdef FIX_FMSW_DEC Decoder_Struct **st_ivas /* i/o: IVAS decoder structure */ -#else - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -#endif ); ivas_error ivas_ism_dec_config_fx( @@ -2681,9 +2637,7 @@ Word16 ivas_acelp_tcx20_switching_fx( Word16 *inp_fx, /* i : new input signal */ Word16 q_inp, /* i : i/p Q */ Word16 *wsp, /* i : input weighted signal */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_wsp, /* i : Q of input weighted signal */ -#endif Word32 non_staX, /* i : unbound non-stationarity for sp/mu clas */ Word16 *pitch_fr, /* i : fraction pitch values */ Word16 *voicing_fr, /* i : fractional voicing values */ @@ -2782,34 +2736,23 @@ void InternalTCXDecoder_fx( void stereo_tcx_core_enc( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz */ Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz */ -#else - const Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz */ - const Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz */ -#endif const Word16 Aw_fx[], /* i : weighted A(z) unquant. for subframes,Q12*/ Word16 lsp_new_fx[], /* i : LSPs at the end of the frame, Q15 */ Word16 lsp_mid_fx[], /* i : LSPs in the middle of the frame, Q15 */ Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ -#ifdef SIMPLIFY_CORE_ENC const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ -#else - Word16 Q_new -#endif ); -#ifdef SIMPLIFY_CORE_ENC void stereo_tcx_enc_scale_buffers( Encoder_State *st, /* i/o: encoder state structure */ const Word16 n_channels, /* i : number of core channels */ const Word16 Q_spec_old /* i : Q of old spectrum */ ); -#endif Word16 transient_analysis_ivas_fx( TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ const Word16 cor_map_LT[], /* i : LT correlation map Q_cor_map = Qx */ @@ -3746,11 +3689,6 @@ Word16 getNumChanSynthesis( Decoder_Struct *st_ivas /* i : IVAS decoder structure */ ); -#ifndef FIX_FMSW_DEC -void ivas_destroy_dec_fx( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); -#endif ivas_error ivas_core_dec_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ @@ -5731,12 +5669,8 @@ void pre_proc_ivas_fx( Word16 *epsP_fx_q, /* i : LP prediction errors */ Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ -#else - Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_new-1*/ -#endif Word16 *Voicing_flag, /* o : voicing flag for HQ FEC Q0*/ Word16 old_wsp_fx[], /* i : weighted input signal buffer e_old_wsp*/ const Word16 e_old_wsp, /* i : Q value of weighted input signal buffer */ @@ -5746,11 +5680,7 @@ void pre_proc_ivas_fx( const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/ const Word16 flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz Q0*/ Word32 enerBuffer_fx[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer e_enerBuffer */ -#ifdef SIMPLIFY_CORE_ENC Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#else - const Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#endif Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ Word16 *Q_new /* i/o: Q factor of speech buffers */ @@ -6115,12 +6045,8 @@ UWord16 get_indice_st( void stereo_mdct_core_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples new_samples_q*/ Word16 *new_samples_q, -#else - Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Qnew-1*/ -#endif Word16 old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k] /* o : floating pitch for each subframe Q6*/ ); @@ -6167,12 +6093,8 @@ void stereo_switching_dec_fx( void ivas_mdct_core_whitening_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ Word16 *Q_new, /* i : new samples q */ -#else - Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples */ -#endif Word16 old_wsp_fx[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP */ Word16 pitch_buf[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe */ Word32 *mdst_spectrum_long[CPE_CHANNELS], /* o : buffer for MDST spectrum */ @@ -6535,10 +6457,6 @@ ivas_error ivas_osba_enc_reconfig_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 ); 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 93c3bd806f4cb58668a58882e92fc47173745258..5bf93458b8a5ae144217ec9468f9b058cd3fe073 100644 --- a/lib_com/ivas_qmetadata_com_fx.c +++ b/lib_com/ivas_qmetadata_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_qspherical_com_fx.c b/lib_com/ivas_qspherical_com_fx.c index 2a0e7797c27c0c282680a748e86a4624ac910a38..b8390bdc3e20d3aaadcac664af8937505ebc8ef9 100644 --- a/lib_com/ivas_qspherical_com_fx.c +++ b/lib_com/ivas_qspherical_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h index 90de10fd06119625da0dcc1ba1de10304671a74b..ed79c7f24b70b91aaa6465ba8650b82e06347527 100644 --- a/lib_com/ivas_rom_com.h +++ b/lib_com/ivas_rom_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_COM_H #define IVAS_ROM_COM_H @@ -338,9 +310,6 @@ extern const Word32 ls_azimuth_CICP16_fx[9]; extern const Word32 ls_elevation_CICP16_fx[9]; extern const Word32 ls_azimuth_CICP19_fx[11]; extern const Word32 ls_elevation_CICP19_fx[11]; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -extern const Word16 pow_10_q11[128]; -#endif extern const Word32 pow_10_q23[14]; extern const Word16 ivas_sin_az_fx[361]; extern const Word16 ivas_sine_panning_tbl_fx[601]; diff --git a/lib_com/ivas_rom_com_fx.c b/lib_com/ivas_rom_com_fx.c index f8ef32ed0ab9216fa2cc303d9d46408682227d18..8bb438ac2f692642e756d35545a268ad9ff26281 100644 --- a/lib_com/ivas_rom_com_fx.c +++ b/lib_com/ivas_rom_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -82,173 +54,6 @@ const Word16 dft_band_res_cod[3][4] = {0,5,6,7} }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -// Q31 -const Word32 dft_res_gains_q_Q31[][2] = -{ - /* quantization points for joint quantization of prediction gain and residual energy */ - - /* column 1 (|ILD| = 0): */ - {0, 0 }, - {0, 251216928 }, - {0, 487459456 }, - {0, 731632640 }, - {0, 997611392 }, - {0, 1299397248 }, - {0, 1666984192 }, - {0, 2147483647 }, - - /* column 2 (|ILD| = 2): */ - {246151024, 0 }, - {249475328, 247871152 }, - {258660112, 480729248 }, - {274304544, 720918848 }, - {298427200, 981720000 }, - {334663840, 1276185088 }, - {391374592, 1632160640 }, - {485919712, 2091786496 }, - - /* column 3 (|ILD| = 4): */ - {485919712, 0 }, - {492224736, 238188144 }, - {509610752, 461283776 }, - {539117184, 690072384 }, - {584326016, 936189056 }, - {651608832, 1210182144 }, - {755411712, 1534299776 }, - {924504576, 1938292992 }, - - /* column 4 (|ILD| = 6): */ - {713563712, 0 }, - {722237376, 223142880 }, - {746085184, 431184640 }, - {786311872, 642617280 }, - {847364864, 866812416 }, - {936938496, 1111020032 }, - {1072199936, 1390431232 }, - {1285225984, 1720430720 }, - - /* column 5 (|ILD| = 8): */ - {924504576, 0 }, - {934784576, 204139792 }, - {962942400, 393358880 }, - {1010083968, 583482048 }, - {1080789888, 781462848 }, - {1182728704, 991308544 }, - {1332741248, 1221608960 }, - {1559902080, 1475937536 }, - - /* column 6 (|ILD| = 10): */ - {1115604864, 0 }, - {1126709504, 182744416 }, - {1156997632, 351025536 }, - {1207276672, 517958016 }, - {1281710592, 688294272 }, - {1387005952, 863412992 }, - {1537761536, 1046870336 }, - {1757032448, 1234717184 }, - - /* column 7 (|ILD| = 13): */ - {1361843968, 0 }, - {1372924928, 149366080 }, - {1402942464, 285507936 }, - {1452130560, 417893888 }, - {1523515136, 548787328 }, - {1621670144, 677135936 }, - {1756740352, 802203264 }, - {1942499840, 915633344 }, - - /* column 8 (|ILD| = 16): */ - {1559902080, 0 }, - {1569913600, 117815248 }, - {1596862336, 224162928 }, - {1640492800, 325650848 }, - {1702660352, 423060736 }, - {1785997696, 514412544 }, - {1896788608, 597466432 }, - {2042241920, 664027712 }, - - /* column 9 (|ILD| = 19): */ - {1714196608, 0 }, - {1722634112, 90359672 }, - {1745223424, 171238192 }, - {1781415040, 247171072 }, - {1832190080, 318199104 }, - {1898830848, 382271424 }, - {1984989952, 437025792 }, - {2094086528, 475912448 }, - - /* column 10 (|ILD| = 22): */ - {1831427712, 0 }, - {1838194432, 67828272 }, - {1856228992, 128123168 }, - {1884882944, 183977072 }, - {1924581248, 235132272 }, - {1975822336, 279821408 }, - {2040659200, 316058048 }, - {2120554240, 339023232 }, - - /* column 11 (|ILD| = 25): */ - {1918819584, 0 }, - {1924055168, 50102940 }, - {1937964416, 94399088 }, - {1959916032, 135003712 }, - {1990038784, 171579648 }, - {2028424960, 202728896 }, - {2076217216, 226931040 }, - {2133943808, 240762976 }, - - /* column 12 (|ILD| = 30): */ - {2015827840, 0 }, - {2019068416, 29502130 }, - {2027636864, 55420112 }, - {2041056512, 78889960 }, - {2059271424, 99626064 }, - {2082150784, 116769424 }, - {2110128128, 129415952 }, - {2143192960, 135682304 }, - - /* column 13 (|ILD| = 35): */ - {2072441984, 0 }, - {2074364032, 17033840 }, - {2079438464, 31939524 }, - {2087347712, 45337676 }, - {2098012032, 57039312 }, - {2111296384, 66537632 }, - {2127368192, 73321536 }, - {2146126464, 76351632 }, - - /* column 14 (|ILD| = 40): */ - {2104959232, 0 }, - {2106073728, 9723806 }, - {2109011456, 18212808 }, - {2113579136, 25810606 }, - {2119712384, 32401234 }, - {2127314432, 37692632 }, - {2136458496, 41399188 }, - {2147054208, 42945376 }, - - /* column 15 (|ILD| = 45): */ - {2123466240, 0 }, - {2124103936, 5514738 }, - {2125783296, 10322954 }, - {2128390400, 14615774 }, - {2131882240, 18322330 }, - {2136200832, 21283710 }, - {2141376256, 23332410 }, - {2147348352, 24150602 }, - - /* column 16 (|ILD| = 50): */ - {2133943808, 0 }, - {2134306688, 3115998 }, - {2135260160, 5830418 }, - {2136737664, 8250632 }, - {2138715520, 10335839 }, - {2141157120, 11995844 }, - {2144077696, 13136157 }, - {2147440640, 13580687 } -}; -#endif /* tables for adaptive Golomb-Rice coding of DFT stereo parameters */ const Word16 dft_code_itd[] = @@ -3403,15 +3208,6 @@ const Word32 ls_azimuth_CICP19_fx[11] = { 125829120, -125829120, 0, 566231040, - /* Q22 */ const Word32 ls_elevation_CICP19_fx[11] = { 0, 0, 0, 0, 0, 0, 0, 146800640, 146800640, 146800640, 146800640 }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -const Word16 pow_10_q11[128] = { - 2048, 2085, 2123, 2161, 2200, 2240, 2281, 2322, 2364, 2407, 2451, 2496, 2541, 2587, 2634, 2682, 2731, 2780, 2831, 2882, 2934, 2988, 3042, 3097, 3153, 3211, 3269, - 3328, 3389, 3450, 3513, 3576, 3641, 3708, 3775, 3843, 3913, 3984, 4056, 4130, 4205, 4281, 4359, 4438, 4519, 4601, 4684, 4769, 4856, 4944, 5034, 5125, 5218, 5313, - 5410, 5508, 5608, 5710, 5813, 5919, 6026, 6136, 6247, 6360, 6476, 6593, 6713, 6835, 6959, 7085, 7214, 7345, 7478, 7614, 7752, 7893, 8036, 8182, 8331, 8482, 8636, - 8793, 8952, 9115, 9280, 9449, 9620, 9795, 9973, 10154, 10338, 10526, 10717, 10911, 11109, 11311, 11516, 11725, 11938, 12155, 12375, 12600, 12829, 13062, 13299, - 13540, 13786, 14036, 14291, 14550, 14815, 15084, 15357, 15636, 15920, 16209, 16503, 16803, 17108, 17418, 17734, 18056, 18384, 18718, 19058, 19404, 19756, 20114 -}; -#endif // Q12 const Word16 icbwe_gsMapping_tbl_fx[16] = { -8192, -5527, -3935, -2907, -2289, -1824, -1404, -1035, -692, -404, -286, -204, -81, 0, 163, 327 diff --git a/lib_com/ivas_rotation_com_fx.c b/lib_com/ivas_rotation_com_fx.c index 27fdfb5a062fcc8b10ff8e74320957a31f1969b8..7cdcd0413f42daab97e10b8e7a1833622fc11e48 100644 --- a/lib_com/ivas_rotation_com_fx.c +++ b/lib_com/ivas_rotation_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_cnst.h" #include @@ -36,9 +8,6 @@ #include "options.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 57bd35f838c7a3fb44c365f6ff7b45afd5baf7de..2533bf2df579fe9e9fc3b66f26b1eaa1b604f213 100644 --- a/lib_com/ivas_sba_config_fx.c +++ b/lib_com/ivas_sba_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_sns_com_fx.c b/lib_com/ivas_sns_com_fx.c index 652b095c10d9b7541808914c6b338ca3b84cd1d5..2aba4c459623f2810509e4fc852e49576099ad20 100644 --- a/lib_com/ivas_sns_com_fx.c +++ b/lib_com/ivas_sns_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_spar_com_fx.c b/lib_com/ivas_spar_com_fx.c index 4733e4fa086c6a370344255238982d9180b38088..883cd28f8f8de646137cb2895c6d5b191c9f95c5 100644 --- a/lib_com/ivas_spar_com_fx.c +++ b/lib_com/ivas_spar_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_spar_com_quant_util_fx.c b/lib_com/ivas_spar_com_quant_util_fx.c index 50820e240f241b69348a9e1d683e943dc218b542..a95d7c745e268d78acee30e7919a358fbef8f592 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h index d3737fa1924f76dc7eee101a09fc2c51a8fba7e7..e3aabe986ff6fa57b272aad2171aacda1c86e784 100644 --- a/lib_com/ivas_stat_com.h +++ b/lib_com/ivas_stat_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 c85ccf53f0b1160264330c4e42698402baa57996..4a94ae42634dda965b3ec48b8d71ea7c47151312 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_eclvq_com_fx.c b/lib_com/ivas_stereo_eclvq_com_fx.c index 7d528f5b92207df25c3cc90272dd68e3eca57680..f2e077b42b90230c6f487a70600f6ebc3bcc4a8a 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 705c1756d66f540acf9149f56233e2443dc81a47..9f7bdde53da2d5c77622de5631b0ab19b3d7cef8 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively FOR experts who have experience with such software and - solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness FOR a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 09c9d94c2864b945083f67246737565163ffeea8..e45bf0db72c07adceba53d73f01fe460ee0d841e 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 02d141da2a5d4230507ab7a689789e366e16e52a..9ff640bad55236669753dd118c808710c502f212 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 3a130b8cbacc3e3c2070785ccf34bde94ba4d8af..04de4a5a1e3ea419415a7a098b1cf35a7108f3d1 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 45dfb3110223d8c83886c107cec362b670a38c91..770968884e2c3f1cc9c5ff8f34d497350300d409 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_tools_fx.c b/lib_com/ivas_tools_fx.c index 753c3ae296d58ece183562f08f139bc9bd288bc3..88d33af2d00769535e684d9c15b77f9196dc9fe5 100644 --- a/lib_com/ivas_tools_fx.c +++ b/lib_com/ivas_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_transient_det_fx.c b/lib_com/ivas_transient_det_fx.c index ea3acdb9e5a981e966b0a2d3f5c83948603d57ff..b6ae0003c2b556b09979451ba83ba5a900c22f44 100644 --- a/lib_com/ivas_transient_det_fx.c +++ b/lib_com/ivas_transient_det_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/lag_wind_fx.c b/lib_com/lag_wind_fx.c index a83b90b9be26cf4ab7fc2486e73be09a577e14de..d39d8b9ca446a105d162a0b068e1dbd4065dfb77 100644 --- a/lib_com/lag_wind_fx.c +++ b/lib_com/lag_wind_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/lerp_fx.c b/lib_com/lerp_fx.c index 2015a074cb9a9f7e44701d29a8cbef995b55dd19..fade2900b3ee9c84a22c6eea170fe5e12415ba9c 100644 --- a/lib_com/lerp_fx.c +++ b/lib_com/lerp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/limit_t0_fx.c b/lib_com/limit_t0_fx.c index 61eea907d538b486f3adf8c3222c0a395b1f17cf..d80d87a6ffa341a91ab6f75bb0c30f43a9af23f0 100644 --- a/lib_com/limit_t0_fx.c +++ b/lib_com/limit_t0_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/log2.c b/lib_com/log2.c index 6b8b402c3455041f3d94e635e003356b3e3f7e97..a45287d3ed0287ff473c402ab799812e7c313384 100644 --- a/lib_com/log2.c +++ b/lib_com/log2.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /******************************************************************************** * * File : log2.c diff --git a/lib_com/log2.h b/lib_com/log2.h index 582d4ef745ebf9f853d1dce0a46c9d7794f01a89..3aad11d3200ba08f5ee9b7547d438ba39aa490e2 100644 --- a/lib_com/log2.h +++ b/lib_com/log2.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /******************************************************************************** * * File : log2.h diff --git a/lib_com/logqnorm_fx.c b/lib_com/logqnorm_fx.c index 20e76f4974a5a3310bc888e83d7b860ae54cafa5..4e4a99f65bfb0b1ab78d55dc31db91e40fb86529 100644 --- a/lib_com/logqnorm_fx.c +++ b/lib_com/logqnorm_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/longarith.c b/lib_com/longarith.c index ccef603198f13707ae254e060fd9183b1dbe31c2..e78b81e7bb1000f02b14540cd1ea41f37d436284 100644 --- a/lib_com/longarith.c +++ b/lib_com/longarith.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/low_rate_band_att_fx.c b/lib_com/low_rate_band_att_fx.c index ecb48c49ef75f952318cd966941d91bfccc4390e..da49a559a15dd31a1b7784ca9b61eea09182f18a 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/lpc_tools_fx.c b/lib_com/lpc_tools_fx.c index a2de22ab87a92ce5184a691f124544200c564a5d..a92e775d281d9c9f4d07ac3697f453ad74cde6bb 100644 --- a/lib_com/lpc_tools_fx.c +++ b/lib_com/lpc_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/lsf_dec_bfi_fx.c b/lib_com/lsf_dec_bfi_fx.c index 41db2c647d5d73b15d06785fa99053a4bcfd83f9..7a60728c9da982f0ce6a032e1b61921e2fccd967 100644 --- a/lib_com/lsf_dec_bfi_fx.c +++ b/lib_com/lsf_dec_bfi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/lsf_msvq_ma_fx.c b/lib_com/lsf_msvq_ma_fx.c index a4db7906834ba7abe6372df5e22f10d6c254b4ed..653ed5308fe306147c4a30ad998e042a4a84dc16 100644 --- a/lib_com/lsf_msvq_ma_fx.c +++ b/lib_com/lsf_msvq_ma_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/lsf_tools_fx.c b/lib_com/lsf_tools_fx.c index c69503350f8320bcd8cde9f92f1f44a16dd62e1c..faef9bffce2d893ed170ef04dddcd3a3873fe4f4 100644 --- a/lib_com/lsf_tools_fx.c +++ b/lib_com/lsf_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -2071,12 +2043,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; @@ -2160,12 +2126,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 3bbf811379afff77e0a7c3fc3516344d4be3111a..44e23f8ad480737dd6971eef54b43bd4f50d9bf6 100644 --- a/lib_com/lsp_conv_poly_fx.c +++ b/lib_com/lsp_conv_poly_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/math_32.h b/lib_com/math_32.h index aa3bc1f2713e0cfdb86137287ad380c3a15ca327..11f009ea685d6857784b4ce95db62733f9247c7b 100644 --- a/lib_com/math_32.h +++ b/lib_com/math_32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _MATH_32_H_ #define _MATH_32_H_ diff --git a/lib_com/math_op.c b/lib_com/math_op.c index 12d14ca6a0d1fe86141d377ef7907d0150aa6f4e..495769383fe2b8dfdcbc5dfd884bae4e6215f00c 100644 --- a/lib_com/math_op.c +++ b/lib_com/math_op.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*___________________________________________________________________________ | | | This file contains mathematic operations in fixed point. | diff --git a/lib_com/math_op.h b/lib_com/math_op.h index d4eca9f2bad2b0664c9fec0e26f7896c22a887e2..6d63aa74b894b832dd21662c908cb787e2d0bfaf 100644 --- a/lib_com/math_op.h +++ b/lib_com/math_op.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*--------------------------------------------------------------------------* * MATH_OP.H * *--------------------------------------------------------------------------* diff --git a/lib_com/mime.h b/lib_com/mime.h index 803e54cb0f96738d813f1e5975b4a28a43bbe5ba..d210372be735f988e245c541f893cac11a4624c9 100644 --- a/lib_com/mime.h +++ b/lib_com/mime.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/modif_fs_fx.c b/lib_com/modif_fs_fx.c index 08cd1322bca725b5b72d016bdbc59ed5cc576703..05ed0441539dae7929308f5af8f38d61e02956a6 100644 --- a/lib_com/modif_fs_fx.c +++ b/lib_com/modif_fs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/mslvq_com_fx.c b/lib_com/mslvq_com_fx.c index 76a6395393560b5cd50ad4acb74f35deb72def1e..f8d2cb8c0933b3d7f2d04ad5d47e305bb36d9c68 100644 --- a/lib_com/mslvq_com_fx.c +++ b/lib_com/mslvq_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/nelp_fx.c b/lib_com/nelp_fx.c index 4a4cb66b121dec3ac1fdc6054836618411a69c2d..20d3ba56fe79569e5d763703cf90c994e0bc5413 100644 --- a/lib_com/nelp_fx.c +++ b/lib_com/nelp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/oper_32b.c b/lib_com/oper_32b.c index 47b39ee4854712e800151af630d68b2abf9dd600..33913f7dc29ec48a444a2b2a285a3f1ebf51520a 100644 --- a/lib_com/oper_32b.c +++ b/lib_com/oper_32b.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * $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..d0e3891aa438a9da3f878eecf8acf3e7ef3dfd0e 100644 --- a/lib_com/oper_32b.h +++ b/lib_com/oper_32b.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* 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 9ce33d497451049e7dbee57598e3a596b0c93473..4618e26beff59b19690095454ecc799f3c5bfe3b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -47,93 +19,16 @@ /* ################### Start DEBUGGING switches ######################## */ -#ifndef RELEASE -/*#define DEBUGGING*/ /* Activate debugging part of the code */ -#endif /*#define WMOPS*/ /* Activate complexity and memory counters */ /*#define WMOPS_PER_FRAME*/ /* Output per-frame complexity (writes one float value per frame to the file "wmops_analysis") */ /*#define WMOPS_DETAIL*/ /* Output detailed complexity printout for every function. Increases runtime overhead */ /*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output detailed complexity analysis for the worst-case frame */ /*#define MEM_COUNT_DETAILS*/ /* Output detailed memory analysis for the worst-case frame (writes to the file "mem_analysis.csv") */ -#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 */ -#define ENABLE_BITRATE_VERIFICATION /* Enable bitrate verification - use when playing with bit budget */ -/*#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 */ - -#endif /* DEBUGGING */ /* #################### End DEBUGGING switches ############################ */ -/* keep as part of options.h */ -/*#define DISABLE_LIMITER*/ - -/* ################### Start MAINTENANCE switches ########################### */ - -/* ################### Start BE switches ################################# */ -/* only BE switches wrt wrt. TS 26.251 V3.0 */ - -/*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ -#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 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 NONBE_FIX_ISSUE_2206 /* FhG: Calculate st->q_inp and Q_new dynamically for all data paths instead of assuming constant values */ -#define NONBE_FIX_ISSUE_2206_TV1 /* VA/FhG: Calculate st->q_inp also considering st->mem_q decimation memory to avoid saturation */ -#define NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT /* FhG: Dynamic scale of shb_speech buffers */ -#define NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION /* FhG: Use different scale to avoid saturation of LPC coefficient in TD Stereo signal extrapolation. */ -#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* FhG: Avoid overflow of SWB_fenv_fx in SWB_BWE_encoding_fx because of very small energies. */ -#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx /* FhG: Fix saturation crash in MSVQ_Interpol_Tran_fx() */ -#define NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527 /* Fix crash from issue #2527 */ -#define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* VA/Nokia: reintroduce format switching for g192 bitstreams */ -#define SIMPLIFY_CORE_ENC /* VA: basop issue 2430: Simplify ivas_core_enc_fx() */ -#define FIX_2402_SIMPLIFY_ARI_CODEC /* FhG: basop issue 2402: simplified arithmetic in TCX arithmetic coder */ -#define FIX_2402_REPL_EVS_ARI_CODEC_ENC /* FhG: basop issue 2402: replace EVS arith encoder with IVAS arith encoder */ -#define FIX_BASOP_2551_HARM_SCALAR_QUAN /* FhG: issue 2551: Harmonize function pair tcx_scalar_quantization_fx*/ -#define HARMONIZE_2564_GetEnergyCldfb /* FhG: harmonize GetEnergyCldfb derivates for evs/ivas */ -#define FIX_BASOP_2555_FRAMELEN_CALC /* FhG: BASOP issue 2555: Simplify (sub-)framelength calculation in ivas_mdct_core_tns_ns_fx() */ -#define FIX_BASOP_2095_REMOVE_TABLES_PT01 /* FhG: BASOP issue 2095: remove unused tables, part 01 */ -#define FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 /* FhG: part 2 of basop issue 2346: Review potentially duplicated IGF functions */ -#define FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC /* Eri: BASOP issue 2563: Crash in hq_generic decoding. EVS code --> solve with _sat operator */ -#define FIX_2095_REMOVE_UNUSED_ISAR_TABLES /* Dolby: remove unused ISAR */ -#define FIX_BASOP_2560_STEREO_DFT_DEC_RESET /* FhG: BASOP issue 2560: align reset of hStereoDft->res_gains_ind_fx[][] between BASOP and float */ -#define HARMONIZE_2539_cng_energy /* FhG: basop issue 2539: harmonize cng_energy with its ivas derivate */ -#define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ - -/* #################### End BE switches ################################## */ - -/* #################### Start NON-BE switches ############################ */ -/* any switch which is non-be wrt. TS 26.251 V3.0 */ - -#define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ -#define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, adding clamping of distance att input and listener position */ -#define FIX_BASOP_2023_TDREND_DISTATT_PRECISION_BUGFIX /* Eri: Bug discovered in cleanup of basop issue 2023 */ -#define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */ -#define FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW /* Orange: float issue 1548: Harmonize non diegetic panning law in ISM and renderers */ -#define FIX_1452_DEFAULT_REVERB /* Nokia/Philips/FhG: Fix default room presets and their usage in renderer */ -#define NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 /* FhG: Correct scale inconsistency of old_inp_16k_fx buffer scale. */ -#define FIX_BASOP_2548_ProcessIGF_fx_PREDICTIONGAIN /* FhG: fixes obvious bug for IVAS path. For EVS path, issue is still not resolved */ -#define FIX_FMSW_DEC /* float issue 1542: fix JBM issue in format switching */ -#define FIX_FMSW_DEC_2 /* float issue 1575: fix crash for format switching when bitsream starts with EVS */ -#define FIX_BASOP_2562_HQ_PREECHO_SAT /* Eri/Orange: Basop issue 2562: Add saturation to L_add in preecho calculations */ -#define FIX_BASOP_2561_STEREO_DFT_ENC_COMPUTE_ITD /* BASOP issue 2561: fix diffs in stereo_dft_enc_compute_itd() between float and BASOP */ -#define FIX_BASOP_2517_CLICK_IN_OMASA_LTV /* FhG: BASOP #2517: preserve precision by removing one-bit headroom from Q_min and allowing saturation during buffer scaling */ -#define NONBE_FIX_ISSUE_2518 /* FhG: Fix issue 2518, noise during ACELP switching from 16KHz to 12k8Hz by improving Q_new calculation. */ -#define NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX /* FhG: Fix issue 2518, fix wrong amplitude because of saturation of x_tran in transf_cdbk_enc_fx() for transient signals. */ -#define FIX_BASOP_2559_Q_SYNTH_HISTORY_RESET /* FhG: BASOP issue 2559: reset hTcxDec->q_synth_history_fx in allocate_CoreCoder_TCX_fx() */ -#define FIX_FLOAT_1578_OMASA_REND_SPIKES /* Nokia: Float issue 1578: Fix spikes and collapsed perception in OMASA/MASA rendering to FOA/HOA */ -#define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ -#define FIX_1559 /* Eri/FhG: fix for Issue 1559 in FD CNG with bitrate/bw switching */ - -/* ##################### End NON-BE switches ########################### */ -/* ################## End MAINTENANCE switches ######################### */ /* clang-format on */ #endif diff --git a/lib_com/parameter_bitmaping_fx.c b/lib_com/parameter_bitmaping_fx.c index 02ab3ee9a5736b3358bd52829a6e86c4dd4a99f2..0920db4cbae84eb2c1403ffd092603e1a0a2d92f 100644 --- a/lib_com/parameter_bitmaping_fx.c +++ b/lib_com/parameter_bitmaping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include "options.h" diff --git a/lib_com/phase_dispersion_fx.c b/lib_com/phase_dispersion_fx.c index 5269a2ca36e4defac60158d95054df3ebe361e7b..d50c3273e6e9940d5497c19496fc025a5421be7d 100644 --- a/lib_com/phase_dispersion_fx.c +++ b/lib_com/phase_dispersion_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/ppp_fx.c b/lib_com/ppp_fx.c index 12a35b39371dd7e1eb8a155d802b21215ef544ab..5a52e36441b0b088e6638b5d88f54cde6f00b163 100644 --- a/lib_com/ppp_fx.c +++ b/lib_com/ppp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/pred_lt4_fx.c b/lib_com/pred_lt4_fx.c index f4f68f58ad74765c49c99791613e772db871df47..1464d27355b82440435186ce80ea8cf6db4aef08 100644 --- a/lib_com/pred_lt4_fx.c +++ b/lib_com/pred_lt4_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/preemph_fx.c b/lib_com/preemph_fx.c index 46c8ccc36b531cab8b599c1b576afde3c3b97a33..ef673065e936285884cf454e45cd634eac9e3643 100644 --- a/lib_com/preemph_fx.c +++ b/lib_com/preemph_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 7d541d076f4dd6b8b77823483077bf91514954b8..143b5f406b8123b9d5eee95244b5b74ccc32bd52 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef PROT_FX2_H #define PROT_FX2_H @@ -3989,11 +3961,7 @@ Word16 find_guarded_bits_fx( const Word32 n ); Word16 L_norm_arr( const Word32 *arr, Word16 size ); Word16 L_norm_arr_cmplx( const cmplx *arr, Word16 size ); -#ifdef NONBE_FIX_ISSUE_2206 Word16 norm_arr( const Word16 *arr, Word16 size ); -#else -Word16 norm_arr( Word16 *arr, Word16 size ); -#endif Word16 W_norm_arr( Word64 *arr, Word16 size ); Word16 get_min_scalefactor( Word32 x, Word32 y ); @@ -4104,12 +4072,8 @@ void analysisCldfbEncoder_fx( Word16 *enerBuffSum_exp, CLDFB_SCALE_FACTOR *scale ); -#ifdef HARMONIZE_2564_GetEnergyCldfb -void GetEnergyCldfb( - Word16 element_mode, /*!< i: | Is IVAS or EVS? */ -#else void GetEnergyCldfb( -#endif + Word16 element_mode, /*!< i: | Is IVAS or EVS? */ Word32 *energyLookahead, /*!< o: Q31 | pointer to the result in the core look-ahead slot */ Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot - apply as negative exponent*/ const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ @@ -5050,12 +5014,6 @@ Word16 IGFCommonFuncsIGFGetCFTables_fx( const Word16 **cf_off_se11 /* o : offsets for CF tables above */ ); -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC -Word32 L_multi31x16_X2( - Word16 xh, - Word16 xl, - Word16 y ); -#endif #ifndef FIX_2402_INLINE_FCT_ARI_CODEC Word32 mul_sbc_14bits( @@ -8470,24 +8428,8 @@ void con_tcx_fx( const Word16 *A_cng /* i : CNG LP filter coefficients */ ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_start_encoding_14bits_fx( -#else -void ari_start_encoding_14bits_ivas_fx( -#endif Tastat *s ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_ivas_fx( - Word32 *x, /* i: input coefficients */ - Word16 x_e, /* i: exponent */ - Word16 *xq, /* o: quantized coefficients */ - Word16 L_frame, /* i: frame length */ - Word16 gain, /* i: quantization gain */ - Word16 gain_e, /* i: quantization gain exponent */ - Word16 offset, /* i: rounding offset (deadzone) */ - Word8 const *memQuantZeros_fx, /* i: coefficients to be set to 0 */ - const Word16 alfe_flag ); -#else void tcx_scalar_quantization_fx( Word32 *x, /* i: input coefficients */ Word16 x_e, /* i: exponent */ @@ -8499,7 +8441,6 @@ void tcx_scalar_quantization_fx( Word8 const *memQuantZeros_fx, /* i: coefficients to be set to 0 */ const Word16 alfe_flag, const Word16 element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN Word16 RCcontextMapping_encode2_estimate_no_mem_s17_LCS_fx( @@ -8564,14 +8505,12 @@ void Copy_Scale_sig( const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#ifdef NONBE_FIX_ISSUE_2206 void Copy_Scale_sig_nosat( const Word16 x[], /* i : signal to scale i Qx */ Word16 y[], /* o : scaled signal output Qx */ const Word16 lg, /* i : size of x[] Q0 */ const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#endif void Scale_sig32( Word32 x[], /* i/o: signal to scale Qx */ @@ -8607,14 +8546,12 @@ void Copy_Scale_sig_32_16( const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#ifdef NONBE_FIX_ISSUE_2206 void Copy_Scale_sig_32_16_nosat( const Word32 x[], /* i : signal to scale input Qx */ Word16 y[], /* o : scaled signal output Qx */ const Word16 lg, /* i : size of x[] Q0 */ const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#endif void Random_Fill( Word16 *seed, /* i/o: random seed */ @@ -9465,11 +9402,7 @@ void IGFSaveSpectrumForITF_ivas_fx( const Word32 *pITFSpectrum, /* i : MDCT spectrum */ Word16 exp_pITFSpectrum ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_ext_fx( -#else -Word16 ari_encode_14bits_ext_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s, @@ -9477,11 +9410,7 @@ Word16 ari_encode_14bits_ext_ivas_fx( UWord16 const *cum_freq /* Q0 */ ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_sign_fx( -#else -Word16 ari_encode_14bits_sign_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Word32 bits, /* Q0 */ @@ -9489,11 +9418,7 @@ Word16 ari_encode_14bits_sign_ivas_fx( Word16 sign /* Q0 */ ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_done_encoding_14bits_fx( -#else -Word16 ari_done_encoding_14bits_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s ); @@ -9770,28 +9695,14 @@ ivas_error push_indice( Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -#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 */ @@ -9914,13 +9825,6 @@ Word32 ar_div_ivas( Word32 num, Word32 denum ); -#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 f86e66f60a549202713cca61951766ab3244ec92..6a3d5adbbb96d0544c4fa3ff639b84c6c472ae2f 100644 --- a/lib_com/pvq_com_fx.c +++ b/lib_com/pvq_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/range_com_fx.c b/lib_com/range_com_fx.c index d437494f73e7b490acb832827f5fb83a81ed8991..0d124fd1909897732c3d35262f2fd032154be1bc 100644 --- a/lib_com/range_com_fx.c +++ b/lib_com/range_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/re8_ppv_fx.c b/lib_com/re8_ppv_fx.c index 5398214b4cf4422896c1115aba2ef213df2d3429..430967bce82f54a72f08ce83e5192c16509f40ab 100644 --- a/lib_com/re8_ppv_fx.c +++ b/lib_com/re8_ppv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/re8_util_fx.c b/lib_com/re8_util_fx.c index cf5db258d50df53908dd11a947df4b39f5d9c30a..3b7547d93bce673a0a16765c259641106fac6ec6 100644 --- a/lib_com/re8_util_fx.c +++ b/lib_com/re8_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/recovernorm_fx.c b/lib_com/recovernorm_fx.c index 83167ea621c6341b39e3b88100d41ec3882180f6..60f0092a9114bb1c91cb809f621efe3af904dadb 100644 --- a/lib_com/recovernorm_fx.c +++ b/lib_com/recovernorm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/reordvct_fx.c b/lib_com/reordvct_fx.c index e89e9ed3817916883af0f99172debd4d115959e3..a3f87094e91695e736831e4c98ff3a0bb18ec6e1 100644 --- a/lib_com/reordvct_fx.c +++ b/lib_com/reordvct_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/residu_fx.c b/lib_com/residu_fx.c index d4de347d5435d76ba0adc6225b003957f9147305..1ead1febe0906bafef1a5b51f0960e291d2956a5 100644 --- a/lib_com/residu_fx.c +++ b/lib_com/residu_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/rom_basic_math.c b/lib_com/rom_basic_math.c index 5899352544450ff5fbe73354ca6a3af250d8eb34..56fe4164be699a16e26f1f0e50ec7efb5e6e0b1e 100644 --- a/lib_com/rom_basic_math.c +++ b/lib_com/rom_basic_math.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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..31ea26df94e9d9e75f97f9b9f54836d7f9235de6 100644 --- a/lib_com/rom_basic_math.h +++ b/lib_com/rom_basic_math.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 321658f7a927a8edbf7f58dbb894dad0f9a5269f..ca4bba915b769aaab52f7be0da795c6acc414b5b 100644 --- a/lib_com/rom_basop_util.c +++ b/lib_com/rom_basop_util.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 ffbc7292acd5ff5038e8cd5cecc199274cb7e9d8..77095837a2168f17f1f50ea33761e33340b3eeb2 100644 --- a/lib_com/rom_basop_util.h +++ b/lib_com/rom_basop_util.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h index 9a2caa064f9cb9df9437f8b6944e336475e46830..0e2cef07d65dbfd7069c623a7b1f1ec047cef8b4 100644 --- a/lib_com/rom_com.h +++ b/lib_com/rom_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -1135,10 +1107,7 @@ extern const Word32 rot_vec_syn_im_L40_fx[20]; // Q31 extern const Word32 rot_vec_syn_re_L60_fx[30]; // Q31 extern const Word32 rot_vec_syn_im_L60_fx[30]; // Q31 -extern const Word16 bpf_weights_16_Fx[16]; // Q15 -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -extern const Word16 bpf_weights_16_ivas_fx[16]; // Q15 -#endif +extern const Word16 bpf_weights_16_Fx[16]; // Q15 extern const Word32 bpf_weights_16_ivas_fx_32[16]; // Q30 extern const Word16 CNG_details_codebook_fx[64][NUM_ENV_CNG]; // Q6 @@ -1606,8 +1575,5 @@ extern const Word32 rot_vec_ana_re_L60_fx[30]; // Q29 extern const Word32 rot_vec_ana_im_L60_fx[30]; // Q29 extern const Word16 LP_assym_window_fx[]; /* Assymetric window for LP analysis @12.8kHz (Q15) */ -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -extern const Word16 LP_assym_window_16k_fx[]; /* Assymetric window for LP analysis @16kHz (Q15) */ -#endif #endif diff --git a/lib_com/rom_com_fx.c b/lib_com/rom_com_fx.c index d2f077a3e6dd87475ea2743aa88f7dbe4bfa128e..6c0b1e973da4c384916de8eaa17e4b4c299604aa 100644 --- a/lib_com/rom_com_fx.c +++ b/lib_com/rom_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -6822,15 +6794,6 @@ const Word16 bpf_weights_16_Fx[16] = 3/*0.000081f Q15*/, 2/*0.000052f Q15*/, 1/*0.000017f Q15*/, 1/*0.000016f Q15*/ }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -const Word16 bpf_weights_16_ivas_fx[16] = -{ - 32767/*0.999969f Q15*/, 23022/*0.702561f Q15*/, 6843/*0.208838f Q15*/, 51/*0.001553f Q15*/, - 58/*0.001777f Q15*/, 45/*0.001370f Q15*/, 30/*0.000926f Q15*/, 18/*0.000554f Q15*/, - 9/*0.000270f Q15*/, 3/*0.000080f Q15*/, 1/*0.000030f Q15*/, 3/*0.000082f Q15*/, - 3/*0.000081f Q15*/, 2/*0.000052f Q15*/, 1/*0.000017f Q15*/, 1/*0.000016f Q15*/ -}; -#endif const Word32 bpf_weights_16_ivas_fx_32[16] = { 1073784774/*1.000040f Q30*/, 754369130/*0.702561f Q30*/, 224238095/*0.208838f Q30*/, 1667521/*0.001553f Q30*/, @@ -36533,411 +36496,6 @@ const Word16 LP_assym_window_fx[L_LP] = { 0x0b0f, 0x0ad8, 0x0aa8, 0x0a82, 0x0a64, 0x0a4e, 0x0a41, 0x0a3d }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -/* LP analysis window (length of the window is 25ms which is 400 samples at 16kHz (Q15) */ -const Word16 LP_assym_window_16k_fx[L_LP_16k] = { - 0x0a3d, - 0x0a3e, - 0x0a42, - 0x0a49, - 0x0a53, - 0x0a5f, - 0x0a6e, - 0x0a7f, - 0x0a93, - 0x0aaa, - 0x0ac4, - 0x0ae0, - 0x0aff, - 0x0b21, - 0x0b45, - 0x0b6c, - 0x0b96, - 0x0bc2, - 0x0bf1, - 0x0c23, - 0x0c57, - 0x0c8e, - 0x0cc7, - 0x0d03, - 0x0d41, - 0x0d82, - 0x0dc6, - 0x0e0c, - 0x0e55, - 0x0ea0, - 0x0eee, - 0x0f3e, - 0x0f91, - 0x0fe6, - 0x103e, - 0x1098, - 0x10f4, - 0x1153, - 0x11b4, - 0x1218, - 0x127e, - 0x12e6, - 0x1351, - 0x13be, - 0x142d, - 0x149e, - 0x1512, - 0x1588, - 0x1600, - 0x167a, - 0x16f6, - 0x1774, - 0x17f5, - 0x1878, - 0x18fc, - 0x1983, - 0x1a0c, - 0x1a96, - 0x1b23, - 0x1bb1, - 0x1c42, - 0x1cd4, - 0x1d68, - 0x1dfe, - 0x1e96, - 0x1f30, - 0x1fcb, - 0x2068, - 0x2107, - 0x21a7, - 0x2249, - 0x22ed, - 0x2392, - 0x2439, - 0x24e1, - 0x258b, - 0x2636, - 0x26e2, - 0x2790, - 0x2840, - 0x28f0, - 0x29a2, - 0x2a56, - 0x2b0a, - 0x2bc0, - 0x2c77, - 0x2d2e, - 0x2de7, - 0x2ea2, - 0x2f5d, - 0x3019, - 0x30d6, - 0x3194, - 0x3253, - 0x3313, - 0x33d3, - 0x3495, - 0x3557, - 0x361a, - 0x36dd, - 0x37a2, - 0x3867, - 0x392c, - 0x39f2, - 0x3ab9, - 0x3b80, - 0x3c47, - 0x3d0f, - 0x3dd7, - 0x3ea0, - 0x3f68, - 0x4032, - 0x40fb, - 0x41c4, - 0x428e, - 0x4358, - 0x4422, - 0x44ec, - 0x45b6, - 0x4680, - 0x4749, - 0x4813, - 0x48dd, - 0x49a6, - 0x4a6f, - 0x4b38, - 0x4c01, - 0x4cca, - 0x4d92, - 0x4e59, - 0x4f20, - 0x4fe7, - 0x50ad, - 0x5173, - 0x5238, - 0x52fd, - 0x53c1, - 0x5484, - 0x5547, - 0x5608, - 0x56c9, - 0x578a, - 0x5849, - 0x5908, - 0x59c5, - 0x5a82, - 0x5b3d, - 0x5bf8, - 0x5cb2, - 0x5d6a, - 0x5e21, - 0x5ed8, - 0x5f8d, - 0x6041, - 0x60f3, - 0x61a5, - 0x6255, - 0x6303, - 0x63b0, - 0x645c, - 0x6507, - 0x65b0, - 0x6657, - 0x66fd, - 0x67a2, - 0x6844, - 0x68e6, - 0x6985, - 0x6a23, - 0x6abf, - 0x6b5a, - 0x6bf2, - 0x6c89, - 0x6d1e, - 0x6db2, - 0x6e43, - 0x6ed2, - 0x6f60, - 0x6fec, - 0x7075, - 0x70fd, - 0x7183, - 0x7206, - 0x7288, - 0x7307, - 0x7385, - 0x7400, - 0x7479, - 0x74f0, - 0x7565, - 0x75d7, - 0x7648, - 0x76b6, - 0x7721, - 0x778b, - 0x77f2, - 0x7857, - 0x78b9, - 0x7919, - 0x7977, - 0x79d2, - 0x7a2b, - 0x7a81, - 0x7ad5, - 0x7b27, - 0x7b76, - 0x7bc2, - 0x7c0c, - 0x7c54, - 0x7c98, - 0x7cdb, - 0x7d1b, - 0x7d58, - 0x7d93, - 0x7dcb, - 0x7e00, - 0x7e33, - 0x7e63, - 0x7e91, - 0x7ebc, - 0x7ee4, - 0x7f0a, - 0x7f2d, - 0x7f4d, - 0x7f6b, - 0x7f86, - 0x7f9e, - 0x7fb3, - 0x7fc6, - 0x7fd7, - 0x7fe4, - 0x7fef, - 0x7ff7, - 0x7ffc, - 0x7fff, - 0x7fff, - 0x7ff9, - 0x7fee, - 0x7fde, - 0x7fc8, - 0x7fac, - 0x7f8c, - 0x7f65, - 0x7f39, - 0x7f08, - 0x7ed1, - 0x7e95, - 0x7e54, - 0x7e0d, - 0x7dc1, - 0x7d70, - 0x7d19, - 0x7cbd, - 0x7c5c, - 0x7bf6, - 0x7b8b, - 0x7b1b, - 0x7aa5, - 0x7a2b, - 0x79ab, - 0x7927, - 0x789e, - 0x7810, - 0x777d, - 0x76e6, - 0x764a, - 0x75a9, - 0x7504, - 0x745a, - 0x73ac, - 0x72fa, - 0x7243, - 0x7188, - 0x70c9, - 0x7006, - 0x6f3f, - 0x6e74, - 0x6da5, - 0x6cd2, - 0x6bfc, - 0x6b22, - 0x6a44, - 0x6963, - 0x687f, - 0x6797, - 0x66ac, - 0x65be, - 0x64cd, - 0x63d9, - 0x62e2, - 0x61e8, - 0x60ec, - 0x5fed, - 0x5eeb, - 0x5de7, - 0x5ce1, - 0x5bd8, - 0x5ace, - 0x59c1, - 0x58b3, - 0x57a2, - 0x5690, - 0x557c, - 0x5467, - 0x5350, - 0x5238, - 0x511f, - 0x5005, - 0x4ee9, - 0x4dcd, - 0x4cb0, - 0x4b92, - 0x4a74, - 0x4955, - 0x4836, - 0x4716, - 0x45f6, - 0x44d6, - 0x43b6, - 0x4297, - 0x4177, - 0x4058, - 0x3f39, - 0x3e1b, - 0x3cfe, - 0x3be1, - 0x3ac5, - 0x39aa, - 0x3891, - 0x3778, - 0x3661, - 0x354b, - 0x3436, - 0x3323, - 0x3212, - 0x3102, - 0x2ff5, - 0x2ee9, - 0x2de0, - 0x2cd8, - 0x2bd3, - 0x2ad0, - 0x29d0, - 0x28d2, - 0x27d7, - 0x26df, - 0x25e9, - 0x24f7, - 0x2407, - 0x231a, - 0x2231, - 0x214b, - 0x2068, - 0x1f89, - 0x1ead, - 0x1dd5, - 0x1d00, - 0x1c2f, - 0x1b62, - 0x1a99, - 0x19d4, - 0x1913, - 0x1856, - 0x179d, - 0x16e9, - 0x1638, - 0x158d, - 0x14e5, - 0x1442, - 0x13a4, - 0x130a, - 0x1275, - 0x11e5, - 0x1159, - 0x10d3, - 0x1051, - 0x0fd4, - 0x0f5c, - 0x0ee9, - 0x0e7b, - 0x0e12, - 0x0daf, - 0x0d50, - 0x0cf7, - 0x0ca3, - 0x0c55, - 0x0c0b, - 0x0bc7, - 0x0b88, - 0x0b4f, - 0x0b1b, - 0x0aed, - 0x0ac3, - 0x0aa0, - 0x0a82, - 0x0a69, - 0x0a56, - 0x0a48, - 0x0a40, - 0x0a3d, -}; -#endif /* 4-bit/3-bit TD SWB BWE differential LSF scalar quantizer tables */ /*Q15*/ diff --git a/lib_com/scale_mem_fx.c b/lib_com/scale_mem_fx.c index 1bb6fbe3cae6d4805f2cf403bbf1fde9cbfe92c0..cfc9839aa0e35646217488db53f41367982ab81d 100644 --- a/lib_com/scale_mem_fx.c +++ b/lib_com/scale_mem_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/stab_est_fx.c b/lib_com/stab_est_fx.c index 4b553eb5457a243400180d8cfa78b0b02dfe4e1e..88d358a1ca43daadfd98d0c5362c07fe36ec7c20 100644 --- a/lib_com/stab_est_fx.c +++ b/lib_com/stab_est_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h index b9f0119ceacc38de2fdfbeb954105b694bf83e2b..243e3d367d0802addd276501cc94f26c8385c12d 100644 --- a/lib_com/stat_com.h +++ b/lib_com/stat_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/stat_noise_uv_mod_fx.c b/lib_com/stat_noise_uv_mod_fx.c index 301fb108b9b5ddbe22be3c79c90cc0ff6bb25c27..958ba9c0069144321b7618382d3d449903772111 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c index 434dd6a800d96c0398b76f1d17f2939971135382..a4e413d3e818acac8d8d3b41018c31451b6f2287 100644 --- a/lib_com/swb_bwe_com_fx.c +++ b/lib_com/swb_bwe_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -2747,12 +2719,8 @@ void hq_generic_decoding_fx( exp2 = sub( norm_l( L_tmp2 ), 1 ); tmp1_fx = extract_h( L_shl( L_tmp1, exp1 ) ); tmp2_fx = extract_h( L_shl( L_tmp2, exp2 ) ); - tmp3_fx = div_s( tmp2_fx, tmp1_fx ); /*15 + exp2 + 15 - (exp1 + 15) */ -#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC + tmp3_fx = div_s( tmp2_fx, tmp1_fx ); /*15 + exp2 + 15 - (exp1 + 15) */ tmp3_fx = shr_sat( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */ -#else - tmp3_fx = shr( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */ -#endif if ( LT_16( tmp3_fx, 307 /*0.3 in Q10 */ ) ) { diff --git a/lib_com/swb_bwe_com_hr_fx.c b/lib_com/swb_bwe_com_hr_fx.c index a1d6fe2a0fe474393cc863b5a7206d9dc7a3b4c5..94d4fa079ccb816e5d8d3c22b2a6ecc1eafe52da 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/swb_bwe_com_lr_fx.c b/lib_com/swb_bwe_com_lr_fx.c index 9b6c6cd8e021ac2dff10fb1a42a1d353fba12f79..5acbda917ac4ec33e3da0e866e517690d1806219 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c index 70684ccd5050dc0aeb077d7ae52e2d54db6cac76..fde28479f14b976578a06752eb73d477fcc382ec 100644 --- a/lib_com/swb_tbe_com_fx.c +++ b/lib_com/swb_tbe_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -5281,11 +5284,7 @@ static void Estimate_mix_factors_fx( pow3 = Dot_product( shb_res_local, shb_res_local, L_FRAME16k ); /* (2*Q_shb+1) */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT pow3 = L_add_sat( pow3, L_shl( 21475l /*0.00001f in Q31*/, 2 * Q_shb + 1 - 31 ) ); /* (2*Q_shb+1) */ -#else - pow3 = L_add( pow3, L_shl( 21475l /*0.00001f in Q31*/, 2 * Q_shb + 1 - 31 ) ); /* (2*Q_shb+1) */ -#endif if ( pow3 == 0 ) { pow3 = 1; diff --git a/lib_com/syn_12k8_fx.c b/lib_com/syn_12k8_fx.c index 7edf3a44b7378c4f9aef61fe7d534ad5b7432013..e4ad81ed77c7bd8aecad4a50f2f38f0f040d5845 100644 --- a/lib_com/syn_12k8_fx.c +++ b/lib_com/syn_12k8_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/syn_filt_fx.c b/lib_com/syn_filt_fx.c index 58592f6177f17c555400fac2795a0f8987bcea27..20bed9104b5be366ff61619474f50510915d1308 100644 --- a/lib_com/syn_filt_fx.c +++ b/lib_com/syn_filt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcq_position_arith_fx.c b/lib_com/tcq_position_arith_fx.c index 431a509b1807a5a7375a1a58ab5c9f4e56b012f8..16bf92363953ea003ab254446fefe54909f18434 100644 --- a/lib_com/tcq_position_arith_fx.c +++ b/lib_com/tcq_position_arith_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcx_ltp_fx.c b/lib_com/tcx_ltp_fx.c index ebe14f5f301477cc427861d83cbcf19de5052d6a..7b48b31e97434666a50a6492337474cc2221e490 100644 --- a/lib_com/tcx_ltp_fx.c +++ b/lib_com/tcx_ltp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcx_mdct_fx.c b/lib_com/tcx_mdct_fx.c index 5903bc31c2f120b1bf61b62b7e3fc3dc9cb0dd2d..64bc0c3407126dd4af4f513c5b9866cfc2cbed41 100644 --- a/lib_com/tcx_mdct_fx.c +++ b/lib_com/tcx_mdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcx_mdct_window_fx.c b/lib_com/tcx_mdct_window_fx.c index dd3ad48feedb75dd5440e59510b8e76c4966b882..9724da1da9ce33e8989473aba2b02d5db878df1d 100644 --- a/lib_com/tcx_mdct_window_fx.c +++ b/lib_com/tcx_mdct_window_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/tcx_utils_fx.c b/lib_com/tcx_utils_fx.c index 6ebd1dbf5b02b650624a82e4c978d605c4fc4a80..b2ea5504a7549eb15de20fe7f8498ca9ee59eb81 100644 --- a/lib_com/tcx_utils_fx.c +++ b/lib_com/tcx_utils_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tec_com_fx.c b/lib_com/tec_com_fx.c index 5760b56b38cc56e06b8560d15f9e24ca0d47cb52..ab12f5e523e8737557bc85b6ee0482acc664c8e0 100644 --- a/lib_com/tec_com_fx.c +++ b/lib_com/tec_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c index fe6f5d8ef55c8711bd30b0e721127a7c8f8bc36b..f46ac71202bd2bf78ee2ccf1ff4b1f12525972ab 100644 --- a/lib_com/tns_base.c +++ b/lib_com/tns_base.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c index e15184cbaa4b89174dc1a79a7e576cddfefe1541..087eeca1c4df7726783587659a5f7404c6931626 100644 --- a/lib_com/tools_fx.c +++ b/lib_com/tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -1249,7 +1221,6 @@ void Copy_Scale_sig( return; } -#ifdef NONBE_FIX_ISSUE_2206 /*-------------------------------------------------------------------* * Copy_Scale_sig * @@ -1302,7 +1273,6 @@ void Copy_Scale_sig_nosat( return; } -#endif /*-------------------------------------------------------------------* * Copy_Scale_sig @@ -1339,14 +1309,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++ ) { @@ -1461,7 +1424,6 @@ void Copy_Scale_sig_32_16( return; } -#ifdef NONBE_FIX_ISSUE_2206 void Copy_Scale_sig_32_16_nosat( const Word32 x[], /* i : signal to scale input Qx */ Word16 y[], /* o : scaled signal output Qx */ @@ -1493,7 +1455,6 @@ void Copy_Scale_sig_32_16_nosat( return; } -#endif /*-------------------------------------------------------------------* * Scale_sig32 @@ -5443,15 +5404,9 @@ Word16 L_norm_arr_cmplx( return q; } -#ifdef NONBE_FIX_ISSUE_2206 Word16 norm_arr( const Word16 *arr, Word16 size ) -#else -Word16 norm_arr( - Word16 *arr, - Word16 size ) -#endif { Word16 q = 15; Word16 exp = 0; diff --git a/lib_com/trans_direct_fx.c b/lib_com/trans_direct_fx.c index 0f07d349924b95d684a70e1a634a7a14149c9b08..63f6900b9d5462bc96dfb796bfcdcbbb1693bde7 100644 --- a/lib_com/trans_direct_fx.c +++ b/lib_com/trans_direct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/trans_inv_fx.c b/lib_com/trans_inv_fx.c index 405dd1914827ae67e5dd99b8bc6be8d88d632609..f717cb694ae64f447f5d96ee4887d778b0de38c5 100644 --- a/lib_com/trans_inv_fx.c +++ b/lib_com/trans_inv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -746,12 +749,8 @@ void preecho_sb_fx( } } -#ifdef FIX_BASOP_2562_HQ_PREECHO_SAT tmp_fxL1 = L_add_sat( eshbmean2_fx, es_mdct_hb_fx[ind3] ); /*2*(q_sig16)*/ -#else - tmp_fxL1 = L_add( eshbmean2_fx, es_mdct_hb_fx[ind3] ); /*2*(q_sig16)*/ -#endif - Mpy_32_16_ss( tmp_fxL1, 4369, &eshbmean3_fx, &tmp_u16 ); /*10922 : 1/3*/ + Mpy_32_16_ss( tmp_fxL1, 4369, &eshbmean3_fx, &tmp_u16 ); /*10922 : 1/3*/ tmp_fxL1 = L_sub( es_mdct_hb_fx[ind3], es_mdct_hb_fx[ind5] ); /*2*(q_sig16)*/ IF( LT_32( tmp_fxL1, eshbmean3_fx ) ) diff --git a/lib_com/vlpc_2st_com_fx.c b/lib_com/vlpc_2st_com_fx.c index 6f930f08f8aeeb7a8a7937360d1b32022f9969e4..1d07e170fa6b86c18c3ad208d454b43c8d4fd22d 100644 --- a/lib_com/vlpc_2st_com_fx.c +++ b/lib_com/vlpc_2st_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/weight_a_fx.c b/lib_com/weight_a_fx.c index eac5ee6b39ff2fb93cd2a932c46c77a9260d9581..c2f4fecedabfd1d45820ac2065197048ca5eb539 100644 --- a/lib_com/weight_a_fx.c +++ b/lib_com/weight_a_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/weight_fx.c b/lib_com/weight_fx.c index 87335d88d2b397603cca51110d616bd485c08f04..c2a7f4965d3ba4cdf8e7678a6df11cad37f0f73b 100644 --- a/lib_com/weight_fx.c +++ b/lib_com/weight_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/wi_fx.c b/lib_com/wi_fx.c index ce5a0e7f0c25ff1615f973f2b5c6bab746b2e940..e63f5439b12c65a01ae797125a19d3d444ab2f61 100644 --- a/lib_com/wi_fx.c +++ b/lib_com/wi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/window_fx.c b/lib_com/window_fx.c index 74582520e396aaf38f5eca09e3a1efb3d8ab5157..888ed1dc82e57d548b740c1d8bfe56a455340e2a 100644 --- a/lib_com/window_fx.c +++ b/lib_com/window_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/window_ola_fx.c b/lib_com/window_ola_fx.c index 6b41dcd04618af4d6e87b26266715956479ed544..800aaa93d35aac2c573e0e28774aac6f306fb55c 100644 --- a/lib_com/window_ola_fx.c +++ b/lib_com/window_ola_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/wtda_fx.c b/lib_com/wtda_fx.c index ddbd244a78fe788f8b68378409b893200a341017..3a2eb9301b679d15d996c1a53bfe7cbc1a8fb341 100644 --- a/lib_com/wtda_fx.c +++ b/lib_com/wtda_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_debug/debug.c b/lib_debug/debug.c deleted file mode 100644 index 59ca6252eee2afbbfdd03ee7c96f23e10d99f7b4..0000000000000000000000000000000000000000 --- a/lib_debug/debug.c +++ /dev/null @@ -1,997 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 5d905d0e467e61ac787397982da38c6a3a0e9880..0000000000000000000000000000000000000000 --- a/lib_debug/debug.h +++ /dev/null @@ -1,266 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 - -#define MAX16B_FLT 32767.0f -#define MIN16B_FLT ( -32768.0f ) - -/*------------------------------------------------------------------------------------------* - * 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 5f7e846ae1bd166a5354b72507356e9a570f0bb2..0000000000000000000000000000000000000000 --- a/lib_debug/sba_debug.c +++ /dev/null @@ -1,432 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 "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 850e7ab67460da4f0aace38de4956e4772be23ff..0000000000000000000000000000000000000000 --- a/lib_debug/sba_debug.h +++ /dev/null @@ -1,61 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 743a632a609ae7e4b3170cd43e0dec193aa6e207..0000000000000000000000000000000000000000 --- a/lib_debug/snr.c +++ /dev/null @@ -1,465 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 5a14edc319a07ee916125b725776c9d9ad8bb65a..8831ab700f106a83a748c246d0cdf24fd6939f87 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* * (C) 2024 copyright VoiceAge Corporation. All Rights Reserved. * diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 64e2c751a9261c0e8e02c147f194047f61b83786..64ac4a33785a4896b00ff4a91a105645706c5e25 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* * (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 a483972ff03667aecefb49b507754601b6314db9..d9f0c203418f5f72aac6e67ed3431daba641863c 100644 --- a/lib_dec/ACcontextMapping_dec_fx.c +++ b/lib_dec/ACcontextMapping_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -524,9 +527,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; @@ -578,9 +578,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; @@ -684,9 +681,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 641f6005913ec14383212465558f765c5cd7975c..179a54344bc393658f8bb2ee8aaa25486c51c8d6 100644 --- a/lib_dec/FEC_HQ_core_fx.c +++ b/lib_dec/FEC_HQ_core_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c index 1a8361ecfd2bc278442faa59984ed12a3e8cbf9b..b747cf6b04ade96ff09ba7cdc96bd3424f66bce8 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_adapt_codebook_fx.c b/lib_dec/FEC_adapt_codebook_fx.c index 5428d057beff1ae7925cc2b19b65b12d76be8500..723b2ab4823a2021a1f0d89e5a1362cdd036e2de 100644 --- a/lib_dec/FEC_adapt_codebook_fx.c +++ b/lib_dec/FEC_adapt_codebook_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_clas_estim_fx.c b/lib_dec/FEC_clas_estim_fx.c index 946f770e8f47dec5f09ef005179bd0e5f831e321..ee9085f09339e58b4a10ea7d899d29d2aa392e43 100644 --- a/lib_dec/FEC_clas_estim_fx.c +++ b/lib_dec/FEC_clas_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_fx.c b/lib_dec/FEC_fx.c index 9e164827cdc12fc697304df3e62a8b35b91714b2..b3d7a69befd43d698e2546d482599f5d7c90c184 100644 --- a/lib_dec/FEC_fx.c +++ b/lib_dec/FEC_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_lsf_estim_fx.c b/lib_dec/FEC_lsf_estim_fx.c index ddf1f7df6fcde1af14d40dcb7448aba17bab9272..de8852d68758dfafda5325cf2ac1de0cc5e7a90e 100644 --- a/lib_dec/FEC_lsf_estim_fx.c +++ b/lib_dec/FEC_lsf_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_pitch_estim_fx.c b/lib_dec/FEC_pitch_estim_fx.c index 066afccf9d46d7c2f8cd86f0febf8bd626e80c58..09215fd7879d56170efc298b79f11a1b1b8d3dff 100644 --- a/lib_dec/FEC_pitch_estim_fx.c +++ b/lib_dec/FEC_pitch_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_scale_syn_fx.c b/lib_dec/FEC_scale_syn_fx.c index 32d7b569ab3b063edc3e827a3b4b9e1b5930ad9f..6c423330297434b3b5e9ca1ab6c2e06cc13db8ab 100644 --- a/lib_dec/FEC_scale_syn_fx.c +++ b/lib_dec/FEC_scale_syn_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/LD_music_post_filter_fx.c b/lib_dec/LD_music_post_filter_fx.c index 1fd33d11c2813f86c7214faff949bcb3c45f51ee..2eea394624092f2e2dc30bb902b573472dfc27be 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/TonalComponentDetection_fx.c b/lib_dec/TonalComponentDetection_fx.c index 2223bfa9cf5be67544a660dd0d6034e3a6b41576..58685434c448b58f236c2b5aead5f9cb45429ce5 100644 --- a/lib_dec/TonalComponentDetection_fx.c +++ b/lib_dec/TonalComponentDetection_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/acelp_core_dec_fx.c b/lib_dec/acelp_core_dec_fx.c index 4ca6b2e8c395a6ca9ddca2dfcd3a596e1fa2ce5c..18b7c60cdc5f7c6b8de243be71f04ecc0204cdc1 100644 --- a/lib_dec/acelp_core_dec_fx.c +++ b/lib_dec/acelp_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/acelp_core_switch_dec_fx.c b/lib_dec/acelp_core_switch_dec_fx.c index 20343394b3addb3659657bddf57124656d621ec8..59d19f9df06a43eb69986ae50846923d3b197bd6 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/amr_wb_dec_fx.c b/lib_dec/amr_wb_dec_fx.c index 1fdfe44a4d749b9fcab176963c3860d83364668f..905412f5e46e0f3ecc78015bb82052046df524ec 100644 --- a/lib_dec/amr_wb_dec_fx.c +++ b/lib_dec/amr_wb_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/ari_dec_fx.c b/lib_dec/ari_dec_fx.c index 99d33cc5992403f56c750c58acec1cabc395018a..f3c2f0815695932b2d9be6a815728c28bd70c957 100644 --- a/lib_dec/ari_dec_fx.c +++ b/lib_dec/ari_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -13,7 +16,6 @@ * Ari decode 14 bits routines -------------------------------------------------------------*/ -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC static Word32 L_msui_32_16( Word32 cum, Word32 range, Word16 cum_freq ) { /* WMOPS counting is done using L_sub, similar to other MSU operations */ @@ -21,15 +23,10 @@ static Word32 L_msui_32_16( Word32 cum, Word32 range, Word16 cum_freq ) /* Note: No overflow or saturation feature required. */ return L_sub( cum, range * cum_freq ); } -#endif Word32 ari_decode_overflow_fx( Tastat *s ) { -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC return ( L_sub( s->high, s->low ) <= 0 ); -#else - return ( L_sub( L_sub( s->high, 1 ), s->low ) <= 0 ); -#endif } /** @@ -92,10 +89,6 @@ static Word16 ari_lookup_s17_fx( ) { const UWord16 *p; -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - Word32 tmp; - Word16 range_l, range_h; -#endif p = cum_freq; @@ -104,42 +97,6 @@ static Word16 ari_lookup_s17_fx( /* tmp_p = p+8; if (tmp_p[0]*range>cum) p = tmp_p; */ /* max value in p[x] is 16384 => 14 bits */ -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - range_l = extract_l( L_and( range, 0x7FFF ) ); - range_h = extract_l( L_shr( range, 15 ) ); - - tmp = L_multi31x16_X2( range_h, range_l, p[8] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 8; - } - - tmp = L_multi31x16_X2( range_h, range_l, p[4] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 4; - } - - - tmp = L_multi31x16_X2( range_h, range_l, p[2] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 2; - } - - tmp = L_multi31x16_X2( range_h, range_l, p[1] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 1; - - tmp = L_multi31x16_X2( range_h, range_l, p[1] ); - test(); - IF( EQ_32( (Word32) ( &cum_freq[15] - p ), 0 ) && ( GT_32( tmp, cum ) ) ) - { - p = p + 1; - } - } -#else if ( L_msui_32_16( cum, range, p[8] ) < 0 ) { p = p + 8; @@ -165,7 +122,6 @@ static Word16 ari_lookup_s17_fx( move16(); } } -#endif /* return extract_l(L_shr(L_sub((Word32)p,(Word32)cum_freq),1)); */ L_sub( 0, 0 ); @@ -179,99 +135,6 @@ static Word16 ari_lookup_s27_fx( UWord16 const *cum_freq /* Q0 */ ) { -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - Word32 tmp; - Word16 range_l, range_h; - Word16 il, ih, im; - - /* Note: For each indirect addressing p[i], we assume a tmp pointer init followed by a costfree reading the value */ - /* If the value multiplied by range is greater than cum, the pointer p is set to the tmp pointer */ - /* tmp_p = p+8; if (tmp_p[0]*range>cum) p = tmp_p; */ - - /* max value in p[x] is 16384 => 14 bits */ - range_l = extract_l( L_and( range, 0x7FFF ) ); - range_h = extract_l( L_shr( range, 15 ) ); - - /* begin change when compared with ari_decode_14bits_s17_ext_fx, - starting with line: tmp = L_multi31x16_X2(range_h, range_l, p[8]); */ - il = 0; - move16(); - ih = 27; - move16(); - - /* do a five step binary search, using the interval [il, ih) */ - im = 13; - move16(); /* (il + ih) >> 1 */ - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( ( tmp > 0 ) ) - { - il = im; - move16(); - } - if ( ( tmp <= 0 ) ) - { - ih = im; - move16(); - } - - im = shr( add( il, ih ), 1 ); - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - if ( tmp <= 0 ) - { - ih = im; - move16(); - } - - im = shr( add( il, ih ), 1 ); - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - if ( tmp <= 0 ) - { - ih = im; - move16(); - } - - im = shr( add( il, ih ), 1 ); - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - if ( tmp <= 0 ) - { - ih = im; - move16(); - } - - IF( GT_16( sub( ih, il ), 1 ) ) /* if the interval has more than one symbol */ - { - /* here, only ih == il + 2 is possible, which means two symbols in the interval */ - im = add( il, 1 ); /* (il + ih) >> 1 */ - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - } - - return il; -#else const UWord16 *p = cum_freq; @@ -305,7 +168,6 @@ static Word16 ari_lookup_s27_fx( L_sub( 0, 0 ); L_shr( 0, 0 ); /* pointer subtraction */ return extract_l( p - cum_freq ); -#endif } static Word16 ari_lookup_bit_fx( @@ -319,26 +181,10 @@ static Word16 ari_lookup_bit_fx( (void) cum_freq; -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - range = L_shl( range, 13 ); /* L_multi31x16_X2(range_h, range_l, 8192) */ - cum = L_sub( range, cum ); - - if ( cum > 0 ) - { - symbol = 1; - move16(); - } - if ( cum <= 0 ) - { - symbol = 0; - move16(); - } -#else if ( L_msui_32_16( cum, range, 8192 ) < 0 ) { symbol = add( symbol, 1 ); /* symbol = 1 */ } -#endif return symbol; } @@ -366,15 +212,7 @@ static Word16 ari_decode_14bits_ext_fx( range = L_sub( high, low ); cum = L_add( L_shl( L_sub( value, low ), stat_bitsnew ), sub( shl( 1, stat_bitsnew ), 1 ) ); -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - if ( cum < 0 ) - { - cum = 0x7fffffff; - move32(); - } -#else assert( cum >= 0 ); -#endif symbol = lookup_fn( cum, range, cum_freq ); @@ -446,9 +284,6 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) { Word32 cum, range; Word16 symbol; -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - Word16 range_h, range_l; -#endif Word16 pows[12]; /* "base" to the power of 2, 4, 8,... 2^12 */ Word16 lowlim, highlim, testval; Word16 k; @@ -456,10 +291,6 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) range = L_sub( s->high, s->low ); cum = L_add( L_shl( L_sub( s->value, s->low ), stat_bitsnew ), ( ( 1 << stat_bitsnew ) - 1 ) ); -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - range_h = extract_l( L_shr( range, 15 ) ); - range_l = extract_l( L_and( range, 0x7FFF ) ); -#endif symbol = 0; move16(); @@ -468,11 +299,7 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) move16(); /* search for the interval where "cum" fits */ -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC IF( L_msui_32_16( cum, range, lowlim ) < 0 ) /* below pow-1 */ -#else - IF( GT_32( L_multi31x16_X2( range_h, range_l, lowlim ), cum ) ) /* below pow-1 */ -#endif { pows[0] = base; move16(); @@ -487,11 +314,7 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) move16(); testval = mult_r( pows[k], base ); -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC IF( L_msui_32_16( cum, range, shr( testval, 1 ) ) >= 0 ) -#else - IF( LE_32( L_multi31x16_X2( range_h, range_l, shr( testval, 1 ) ), cum ) ) /* found! big range is [lowlim,testval], (now narrow it down) */ -#endif { lowlim = testval; move16(); @@ -507,11 +330,7 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) { testval = mult_r( highlim, pows[k + 1] ); -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC IF( L_msui_32_16( cum, range, shr( testval, 1 ) ) >= 0 ) -#else - IF( LE_32( L_multi31x16_X2( range_h, range_l, shr( testval, 1 ) ), cum ) ) -#endif { lowlim = testval; move16(); diff --git a/lib_dec/ari_hm_dec_fx.c b/lib_dec/ari_hm_dec_fx.c index 2d02da71a8655d9ed77242dcf112ac90968bf1b9..9af7206d2549cec10529b019c7f90d250cf5cb60 100644 --- a/lib_dec/ari_hm_dec_fx.c +++ b/lib_dec/ari_hm_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/arith_coder_dec_fx.c b/lib_dec/arith_coder_dec_fx.c index 3ac4963c0e31df182d139bf30e31e674e24d990c..41bf9b768ec012b848b3e6b326d5b89729607882 100644 --- a/lib_dec/arith_coder_dec_fx.c +++ b/lib_dec/arith_coder_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/avq_dec_fx.c b/lib_dec/avq_dec_fx.c index 4e4735b8336dfb321e7cfa1345ac72ed332711d8..93feec6edfdb32dbf5c53b602e9829ccdbcf6ae3 100644 --- a/lib_dec/avq_dec_fx.c +++ b/lib_dec/avq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/bass_psfilter_fx.c b/lib_dec/bass_psfilter_fx.c index d2558f47c1f1bc9a5ff1b5dca78acb5763eeff17..5cfb8c801c14b82cbce81b3505540d0c66e4c713 100644 --- a/lib_dec/bass_psfilter_fx.c +++ b/lib_dec/bass_psfilter_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/cng_dec_fx.c b/lib_dec/cng_dec_fx.c index 56d2bd29c3e33ac9724922d7936ab0c301c0c909..6510c9eb0e8792e91585cef931ba0004805d4255 100644 --- a/lib_dec/cng_dec_fx.c +++ b/lib_dec/cng_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c index dbffbcc02e8d2f4e0eea3c4a974039ceba8118e7..4a0d41946b8589183d6e3130e346134b7fe435eb 100644 --- a/lib_dec/core_dec_init_fx.c +++ b/lib_dec/core_dec_init_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_reconf_fx.c b/lib_dec/core_dec_reconf_fx.c index d844e666b1b6bcec91a7bc17b6496825a0867360..281777b1c9f77b8a2420efda7036253141187e97 100644 --- a/lib_dec/core_dec_reconf_fx.c +++ b/lib_dec/core_dec_reconf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_switch_fx.c b/lib_dec/core_dec_switch_fx.c index a9d9d24d7d8eee81332d99d00a8bd2e558b173f8..bbcffdeea6e8e1b35723d929b20cc2624b04a4ce 100644 --- a/lib_dec/core_dec_switch_fx.c +++ b/lib_dec/core_dec_switch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_switching_dec_fx.c b/lib_dec/core_switching_dec_fx.c index 7fa00ef857eb960f517cdd8cd95bfb837266b9ed..2c29f48269b3fe69a5e2b7be87af58e39458ec29 100644 --- a/lib_dec/core_switching_dec_fx.c +++ b/lib_dec/core_switching_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/d_gain2p_fx.c b/lib_dec/d_gain2p_fx.c index c9a35c181692332fca1e9078f4f584dc7a0a28d4..57dafed559ab4d109bbb56c6d6f64bcb02dc3ff5 100644 --- a/lib_dec/d_gain2p_fx.c +++ b/lib_dec/d_gain2p_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec2t32_fx.c b/lib_dec/dec2t32_fx.c index 77ded3a34da5976e506f7e771c248f70def3edf2..f15c8b3c5e3130666f82be62be49898d583e1b41 100644 --- a/lib_dec/dec2t32_fx.c +++ b/lib_dec/dec2t32_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec4t64_fx.c b/lib_dec/dec4t64_fx.c index 062157dca37009729e075ec50cb67c91981b56f3..db7f631edefd5352ba5814bdd3c11909fb62a644 100644 --- a/lib_dec/dec4t64_fx.c +++ b/lib_dec/dec4t64_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_LPD_fx.c b/lib_dec/dec_LPD_fx.c index 5b1a13023474d2137853e702cef1b38354a3027f..0eebe8de0e8f4a39ad2b1ec5c293fcb34eeb236c 100644 --- a/lib_dec/dec_LPD_fx.c +++ b/lib_dec/dec_LPD_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_ace_fx.c b/lib_dec/dec_ace_fx.c index 515251e7f4a90320f99b445b525afa91016f8e75..7c4a723094ee0e0ec53065b5a5903961967e24df 100644 --- a/lib_dec/dec_ace_fx.c +++ b/lib_dec/dec_ace_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_acelp_fx.c b/lib_dec/dec_acelp_fx.c index c07ba25a64db73f54e71cdf00458f31cd56c889e..ff94614e5b1ac50bc9635c1dad2be9530de5dbe7 100644 --- a/lib_dec/dec_acelp_fx.c +++ b/lib_dec/dec_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_acelp_tcx_main_fx.c b/lib_dec/dec_acelp_tcx_main_fx.c index dfeb3773a8eef8779e63d256e0c3cc9ff4b66416..6a6a8a0a7970b29c911202966b243a44c23ac429 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_amr_wb_fx.c b/lib_dec/dec_amr_wb_fx.c index af6c706f707b26fa9080b21007ba168478c7c1cc..72940857caa8f9f82843634afdd561fec3c83425 100644 --- a/lib_dec/dec_amr_wb_fx.c +++ b/lib_dec/dec_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_gen_voic_fx.c b/lib_dec/dec_gen_voic_fx.c index e1a3917df5d5f1e1885f1db2cc5c36e825e02ab5..86abfb751f73a3655f2b1a6a8e3a947589a77551 100644 --- a/lib_dec/dec_gen_voic_fx.c +++ b/lib_dec/dec_gen_voic_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_higher_acelp_fx.c b/lib_dec/dec_higher_acelp_fx.c index 842749fa411665f0da5ffffda9c534e278ce87cf..4d594f293a6a7cbaa14dede34002f284cd4df911 100644 --- a/lib_dec/dec_higher_acelp_fx.c +++ b/lib_dec/dec_higher_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_nelp_fx.c b/lib_dec/dec_nelp_fx.c index 130b486ac70addbec3b8f18b9c6d35b67791e210..dcb55f8ef8f89459ebe797b4a2a4f4d8d56250b8 100644 --- a/lib_dec/dec_nelp_fx.c +++ b/lib_dec/dec_nelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_pit_exc_fx.c b/lib_dec/dec_pit_exc_fx.c index 83818d1c9aae785f8534622fa770f1b6dc283cc1..d766a8f3ad45c4fcb6316eb0001ef84df4298368 100644 --- a/lib_dec/dec_pit_exc_fx.c +++ b/lib_dec/dec_pit_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_post_fx.c b/lib_dec/dec_post_fx.c index 829005b0a27e59cc76ade322fde9f508af3909cc..f219497fc968181c4e3dfc2adcd5689a9a393bec 100644 --- a/lib_dec/dec_post_fx.c +++ b/lib_dec/dec_post_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_ppp_fx.c b/lib_dec/dec_ppp_fx.c index 37277b06fce12d2060d84f1abbe99342cdb8e94b..ddfec5f48b9290a908e05375cdb80dabf4043650 100644 --- a/lib_dec/dec_ppp_fx.c +++ b/lib_dec/dec_ppp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_prm_fx.c b/lib_dec/dec_prm_fx.c index 5da9b6f1a91cc8f5aa2c84684bf2271f2ff1bb70..f95a7745c68a0d7560e07b7d992da161f982967b 100644 --- a/lib_dec/dec_prm_fx.c +++ b/lib_dec/dec_prm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c index f48ae67d8fb56077e52e7746db9bc90b1e64b5a0..6d86a618dd81c4a2c5eeca0b6ae746cb2af3591a 100644 --- a/lib_dec/dec_tcx_fx.c +++ b/lib_dec/dec_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_tran_fx.c b/lib_dec/dec_tran_fx.c index 20d5f4b22bfec94ffa76a46023927e9d4511f8bc..1ed1752a2ef312967ecf3b5851ad332bc922fadf 100644 --- a/lib_dec/dec_tran_fx.c +++ b/lib_dec/dec_tran_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_uv_fx.c b/lib_dec/dec_uv_fx.c index a2d59c08ab6f35b3d19e10ae8c85e6d38d278040..5d09d8c7843fc79f75bb9f6e727f5ae7296d8525 100644 --- a/lib_dec/dec_uv_fx.c +++ b/lib_dec/dec_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/decision_matrix_dec_fx.c b/lib_dec/decision_matrix_dec_fx.c index 055f1325f884406f175cbf35e8ecc5d54ef82375..f458ddbba353c8017e1fd9becfe6c0cb844ef3c4 100644 --- a/lib_dec/decision_matrix_dec_fx.c +++ b/lib_dec/decision_matrix_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dlpc_avq_fx.c b/lib_dec/dlpc_avq_fx.c index 9080fd5aa2693b1a960bedf79275a55cd42b6be2..a79b385ba1391702d8106106ebba65300b5d1c9e 100644 --- a/lib_dec/dlpc_avq_fx.c +++ b/lib_dec/dlpc_avq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dlpc_stoch_fx.c b/lib_dec/dlpc_stoch_fx.c index 7a5175fb857c49f66b166f2a4c6d1e3f567fd65e..524f23d2e798ce6d5da101c5853d2c6f4015923c 100644 --- a/lib_dec/dlpc_stoch_fx.c +++ b/lib_dec/dlpc_stoch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_dec_acelp_fx.c b/lib_dec/er_dec_acelp_fx.c index 06e14650431b03a5e7fbc3e133b918e4a3119d9b..da899b9f24e26be1b6cb5141a79d505716691f96 100644 --- a/lib_dec/er_dec_acelp_fx.c +++ b/lib_dec/er_dec_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_dec_tcx_fx.c b/lib_dec/er_dec_tcx_fx.c index b6f5823c3e036d5a3707e6d9b7e79fcec5285a88..87830f86b60184740205e509a54b0ac147596629 100644 --- a/lib_dec/er_dec_tcx_fx.c +++ b/lib_dec/er_dec_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_scale_syn_fx.c b/lib_dec/er_scale_syn_fx.c index efe8aa965db7cba30a334469326fa52d453b8cc2..52c0dfc8de09eb0e5c2f2cd32385295029758f24 100644 --- a/lib_dec/er_scale_syn_fx.c +++ b/lib_dec/er_scale_syn_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_sync_exc_fx.c b/lib_dec/er_sync_exc_fx.c index 22224f35e2971f2f6f73905f26500b318529b930..50d34b4e7508a6e15a75351fd97433aad86956d6 100644 --- a/lib_dec/er_sync_exc_fx.c +++ b/lib_dec/er_sync_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_util_fx.c b/lib_dec/er_util_fx.c index 78fb12f10095dd70f6b23e325da6114d6ddc5248..01c4de76dc3d9825459c8fa0ed4de00cfe4c634a 100644 --- a/lib_dec/er_util_fx.c +++ b/lib_dec/er_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/evs_dec_fx.c b/lib_dec/evs_dec_fx.c index add3a07c325f324e755746fcd5a0cadee4832812..195f5ce506a8cbf078d34e9a58578ac8be9def2a 100644 --- a/lib_dec/evs_dec_fx.c +++ b/lib_dec/evs_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/fd_cng_dec_fx.c b/lib_dec/fd_cng_dec_fx.c index 3aa0562c3437e851e99fcc6ccea0e7064b062ba3..50ad6fb2d6a9417a5801f8accb1303d489944ec1 100644 --- a/lib_dec/fd_cng_dec_fx.c +++ b/lib_dec/fd_cng_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -19,9 +22,6 @@ #include "basop_util.h" #include "rom_basop_util.h" #include "ivas_rom_dec.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define CNA_ACT_DN_LARGE_PARTITION 50 /* index of the first larger partition */ @@ -3923,9 +3923,7 @@ void configureFdCngDec_fx( { Word16 j, stopBandFR; HANDLE_FD_CNG_COM hsCom = hFdCngDec->hFdCngCom; -#ifdef FIX_1559 Word16 nFFTpart_prev; -#endif hsCom->CngBandwidth = bwidth; /*Q0*/ move16(); @@ -4060,10 +4058,8 @@ void configureFdCngDec_fx( hsCom->stopBand = add( hsCom->FdCngSetup.sidPartitions[( hsCom->FdCngSetup.numPartitions - 1 )], 1 ); /*Q0*/ initPartitions( hsCom->FdCngSetup.sidPartitions, hsCom->FdCngSetup.numPartitions, hsCom->startBand, hsCom->stopBand, hsCom->part, &hsCom->npart, hsCom->midband, hsCom->psize, hsCom->psize_norm, &hsCom->psize_norm_exp, hsCom->psize_inv, 0 ); -#ifdef FIX_1559 nFFTpart_prev = hsCom->nFFTpart; move16(); -#endif IF( EQ_16( hsCom->stopFFTbin, 160 ) ) { hsCom->nFFTpart = 17; @@ -4089,7 +4085,6 @@ void configureFdCngDec_fx( move16(); } -#ifdef FIX_1559 /* In case of going from a lower number of partitions to a higher number, initialize the higher ines which might be zero and/or outdated with the highest partitions value this avoids almost-zero values to linger around and causing signal bursts after switching to higher bitrate. @@ -4102,7 +4097,6 @@ void configureFdCngDec_fx( move16(); } } -#endif stopBandFR = 40; //(Word16)floor(1000.f /*Hz*/ / 25.f /*Hz/Bin*/); move16(); diff --git a/lib_dec/gain_dec_fx.c b/lib_dec/gain_dec_fx.c index 90d065b0a9f45b5e3a40297e386c0761eb49206a..8b0835311f6fcbc096c5ce53da6245cb083ef542 100644 --- a/lib_dec/gain_dec_fx.c +++ b/lib_dec/gain_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/gaus_dec_fx.c b/lib_dec/gaus_dec_fx.c index 4fcbaf5148a8af7830803c6d1346748690aae7d6..0f64ad045fa8f1bdb8f4541719dfd5b853c9512e 100644 --- a/lib_dec/gaus_dec_fx.c +++ b/lib_dec/gaus_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/gs_dec_amr_wb_fx.c b/lib_dec/gs_dec_amr_wb_fx.c index 49ba5a85c2c0b480853ce342fbf5ff419e13ebea..e9e86007726668e60f37eb6f60186252efc55528 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/gs_dec_fx.c b/lib_dec/gs_dec_fx.c index eb9845dc8f3c9e8d4088ac77187d040529f681f2..3d05662a9e9abe803b1b35c598caf07df8ca36b5 100644 --- a/lib_dec/gs_dec_fx.c +++ b/lib_dec/gs_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hdecnrm_fx.c b/lib_dec/hdecnrm_fx.c index 2efea77b0c58de186f43de7ca73af3df8a88e3b7..122114ec272ae460b2c83771eef5bfe24e627dd1 100644 --- a/lib_dec/hdecnrm_fx.c +++ b/lib_dec/hdecnrm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c index f2be9219ded15eccf1a30b5b69fc241aa738f919..7e96f83e5fcb8cfefe595342ce0dba8f7cdb6361 100644 --- a/lib_dec/hf_synth_fx.c +++ b/lib_dec/hf_synth_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_classifier_dec_fx.c b/lib_dec/hq_classifier_dec_fx.c index d00426514385b10cd1603189636b16362d919ea3..85ce1ffc2a94974b922a7f9226a8e5dc9ec4857c 100644 --- a/lib_dec/hq_classifier_dec_fx.c +++ b/lib_dec/hq_classifier_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_conf_fec_fx.c b/lib_dec/hq_conf_fec_fx.c index 55c8bb8a0fe2fb4eaa0725531ba05bb89248dfdd..514e00dbee9978176ffbc1f8cfcf64d359ac0c80 100644 --- a/lib_dec/hq_conf_fec_fx.c +++ b/lib_dec/hq_conf_fec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_core_dec_fx.c b/lib_dec/hq_core_dec_fx.c index 644b8b370ad7e61ffc7a35862e088c63406171d5..3cf9b830f1f9e7ca23ae6529d26eda09f9f3203f 100644 --- a/lib_dec/hq_core_dec_fx.c +++ b/lib_dec/hq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_env_dec_fx.c b/lib_dec/hq_env_dec_fx.c index c00b7711d744a181a67d8f39de9df61b7badf672..8a26118c802ac8dfdba74472329b3dcd5ca3be7b 100644 --- a/lib_dec/hq_env_dec_fx.c +++ b/lib_dec/hq_env_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_hr_dec_fx.c b/lib_dec/hq_hr_dec_fx.c index 0c9fb88d6b802d346ee07ecbf1a17a4277579938..224af7ef924cfcac0b85439584cdc72ac49c640a 100644 --- a/lib_dec/hq_hr_dec_fx.c +++ b/lib_dec/hq_hr_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_lr_dec_fx.c b/lib_dec/hq_lr_dec_fx.c index 7ec1d15db8f0c23719b047d6ddce8b52e86d542d..26db0f34c200bf27094c0e758cc21efe53fdadf1 100644 --- a/lib_dec/hq_lr_dec_fx.c +++ b/lib_dec/hq_lr_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/igf_dec_fx.c b/lib_dec/igf_dec_fx.c index 06bdba2d819c13bacdf70e6464197e909c29e757..e3781181a4135f7de7f26670614f1e9c036a691e 100644 --- a/lib_dec/igf_dec_fx.c +++ b/lib_dec/igf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/igf_scf_dec_fx.c b/lib_dec/igf_scf_dec_fx.c index 71a4b1e7720bd2cc0116d6710073a98b425af384..30d42dd956190469dc9bbfae77ec75b8f1020f0a 100644 --- a/lib_dec/igf_scf_dec_fx.c +++ b/lib_dec/igf_scf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/init_dec_fx.c b/lib_dec/init_dec_fx.c index 9ab72547bb6918c76b1b55aceb2e1dfca2260996..86ce4d21485925c4e5dc5f978fc529b9f1002a07 100644 --- a/lib_dec/init_dec_fx.c +++ b/lib_dec/init_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/inov_dec_fx.c b/lib_dec/inov_dec_fx.c index 21e70e083045a138a72ac4a8a909e9654abe63c4..3beebe250a49cf225f0de7bac6ad9a3302078c29 100644 --- a/lib_dec/inov_dec_fx.c +++ b/lib_dec/inov_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/ivas_agc_dec_fx.c b/lib_dec/ivas_agc_dec_fx.c index c091579e49590469de74283c12003cf0f948e3fa..bd9ed1d1bbab7bc7087fe58aa7fa530f05abde7f 100644 --- a/lib_dec/ivas_agc_dec_fx.c +++ b/lib_dec/ivas_agc_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_core_dec_fx.c b/lib_dec/ivas_core_dec_fx.c index 06ae20608b82181b76d4c810bcc7be040174b1c8..c67a797b951e4a3b3bc0429db4b42cdd2151f972 100644 --- a/lib_dec/ivas_core_dec_fx.c +++ b/lib_dec/ivas_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_corecoder_dec_reconfig_fx.c b/lib_dec/ivas_corecoder_dec_reconfig_fx.c index 670f559d242e2c27b59a9a43d53d832d9817b8d9..ad88ae91f8daba7f45b5332ae3a345e7fbcd8fcd 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "ivas_cnst.h" @@ -477,9 +449,6 @@ ivas_error ivas_hp20_dec_reconfig_fx( ) { Word16 i, nchan_hp20; -#ifndef FIX_1585_ASAN_FORMAT_SW_ALT - Word32 **old_mem_hp20_out_fx; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -493,7 +462,6 @@ ivas_error ivas_hp20_dec_reconfig_fx( IF( GT_16( nchan_hp20, nchan_hp20_old ) ) { -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT /* create additional hp20 memories */ FOR( i = nchan_hp20_old; i < nchan_hp20; i++ ) { @@ -504,72 +472,15 @@ ivas_error ivas_hp20_dec_reconfig_fx( set32_fx( st_ivas->mem_hp20_out_fx[i], 0, L_HP20_MEM + 2 ); } -#else - /* save old mem_hp_20 pointer */ - old_mem_hp20_out_fx = st_ivas->mem_hp20_out_fx; - st_ivas->mem_hp20_out_fx = NULL; - - IF( ( st_ivas->mem_hp20_out_fx = (Word32 **) malloc( nchan_hp20 * sizeof( Word32 * ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - - FOR( i = 0; i < nchan_hp20_old; i++ ) - { - st_ivas->mem_hp20_out_fx[i] = old_mem_hp20_out_fx[i]; - move32(); - old_mem_hp20_out_fx[i] = NULL; - } - /* create additional hp20 memories */ - FOR( ; i < nchan_hp20; i++ ) - { - IF( ( st_ivas->mem_hp20_out_fx[i] = (Word32 *) malloc( ( L_HP20_MEM + 2 ) * sizeof( Word32 ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - - set32_fx( st_ivas->mem_hp20_out_fx[i], 0, L_HP20_MEM + 2 ); - } - - free( old_mem_hp20_out_fx ); - old_mem_hp20_out_fx = NULL; -#endif } ELSE IF( LT_16( nchan_hp20, nchan_hp20_old ) ) { -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT /* remove superfluous hp20 memories */ FOR( i = nchan_hp20; i < nchan_hp20_old; i++ ) { free( st_ivas->mem_hp20_out_fx[i] ); st_ivas->mem_hp20_out_fx[i] = NULL; } -#else - /* save old mem_hp_20 pointer */ - old_mem_hp20_out_fx = st_ivas->mem_hp20_out_fx; - st_ivas->mem_hp20_out_fx = NULL; - - IF( ( st_ivas->mem_hp20_out_fx = (Word32 **) malloc( nchan_hp20 * sizeof( Word32 * ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - - FOR( i = 0; i < nchan_hp20; i++ ) - { - st_ivas->mem_hp20_out_fx[i] = old_mem_hp20_out_fx[i]; - move32(); - old_mem_hp20_out_fx[i] = NULL; - } - /* remove superfluous hp20 memories */ - FOR( ; i < nchan_hp20_old; i++ ) - { - free( old_mem_hp20_out_fx[i] ); - old_mem_hp20_out_fx[i] = NULL; - } - - free( old_mem_hp20_out_fx ); - old_mem_hp20_out_fx = NULL; -#endif } return error; diff --git a/lib_dec/ivas_cpe_dec_fx.c b/lib_dec/ivas_cpe_dec_fx.c index 9db1333c4eddb5c4bc1639c7c349c6c57a1b37b6..5571d909cfd07ff079d7d309fbadad8cc6c0d2a5 100644 --- a/lib_dec/ivas_cpe_dec_fx.c +++ b/lib_dec/ivas_cpe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_dec_fx.c b/lib_dec/ivas_dec_fx.c index e668248199381fba809d1880c60a5b9a12aa6d5b..0161cbaa873d4c929feecd33bf4b688a3f3dd42d 100644 --- a/lib_dec/ivas_dec_fx.c +++ b/lib_dec/ivas_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "ivas_prot_rend_fx.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*--------------------------------------------------------------------------* diff --git a/lib_dec/ivas_dec_render_fx.c b/lib_dec/ivas_dec_render_fx.c index edfb1a83e59cab81bf14a29c2109df6beae38412..e2ea3952d15a6db12cd01118581f80b7bfe52dd9 100644 --- a/lib_dec/ivas_dec_render_fx.c +++ b/lib_dec/ivas_dec_render_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "ivas_prot_rend_fx.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------* @@ -327,11 +296,7 @@ ivas_error ivas_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++ ) @@ -934,13 +899,11 @@ ivas_error ivas_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 { @@ -952,9 +915,7 @@ ivas_error ivas_dec_render_fx( { 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 } } @@ -1336,7 +1297,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( { IF( NE_16( st_ivas->ivas_format, MONO_FORMAT ) ) { -#ifndef DISABLE_LIMITER Word16 exp = 11; move16(); FOR( ch_idx = 0; ch_idx < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ ) @@ -1344,7 +1304,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 } } @@ -1697,9 +1656,6 @@ static void ivas_dec_tc_buffer_playout_fx( slots_to_render = sub( slots_to_render, 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 < hTcBuffer->nchan_transport_rend; ch_idx++ ) { diff --git a/lib_dec/ivas_decision_matrix_dec_fx.c b/lib_dec/ivas_decision_matrix_dec_fx.c index 06f11158acfd8fa947a04f850f59b01ee723d2d4..f4bc73c7d89d8d7edec6782f9daeb54e5df4387e 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_dirac_dec_fx.c b/lib_dec/ivas_dirac_dec_fx.c index 23e90009be5fd87a89a0fa4aca59879f6463f352..163abbbf517df76afea455a229f0d7a53b80c27f 100644 --- a/lib_dec/ivas_dirac_dec_fx.c +++ b/lib_dec/ivas_dirac_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -364,11 +336,7 @@ static ivas_error ivas_dirac_rend_config_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect, ivas_total_brate ); -#else - ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect ); -#endif } ELSE { @@ -2179,9 +2147,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++ ) @@ -2229,9 +2194,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; diff --git a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c index 86035f089a8d90c46cd87159a41775d819ba2e2e..50903212b65e11c43db543dd6cb1177601854779 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 ea350ff4a1f1996fb1a4101c9818bbf06f5e5bd6..dca34bc7c0bfe84dc851e9394f8627f989ae6d51 100644 --- a/lib_dec/ivas_entropy_decoder_fx.c +++ b/lib_dec/ivas_entropy_decoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c index fd440677bb80e1dac0256a39c5863f83122e0f1d..f6176f82d2d6cf883dd17831ff39ffc893cab07c 100644 --- a/lib_dec/ivas_init_dec_fx.c +++ b/lib_dec/ivas_init_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -108,9 +80,6 @@ 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; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - Word16 Opt_tsm; -#endif UWord16 *bit_stream_orig; AUDIO_CONFIG signaled_config; ivas_error error; @@ -122,10 +91,6 @@ ivas_error ivas_dec_get_format_fx( ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; move32(); -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - Opt_tsm = st_ivas->hDecoderConfig->Opt_tsm; - move16(); -#endif bit_stream_orig = st_ivas->bit_stream; /*-------------------------------------------------------------------* @@ -146,24 +111,10 @@ 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 ) ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } /*-------------------------------------------------------------------* @@ -201,24 +152,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -242,24 +179,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } /* read Ambisonic (SBA) order */ @@ -270,24 +193,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order ); @@ -303,12 +212,7 @@ ivas_error ivas_dec_get_format_fx( k = extract_l( Mpy_32_32_r( ivas_total_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ); IF( st_ivas->bit_stream[k - 1] ) { -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 1 ) -#else - test(); - if ( st_ivas->nchan_transport == 1 && Opt_tsm ) -#endif { masaRestartCandidate = 1; move16(); @@ -321,12 +225,7 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 2 ) -#else - test(); - if ( st_ivas->nchan_transport == 2 && Opt_tsm ) -#endif { masaRestartCandidate = 1; move16(); @@ -376,24 +275,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -412,24 +297,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -444,24 +315,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -489,24 +346,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism ); @@ -533,24 +376,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate ); @@ -649,24 +478,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - 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 + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -1572,12 +1387,8 @@ ivas_error ivas_init_decoder_front( * Allocate and initialize Custom loudspeaker layout handle *--------------------------------------------------------------------*/ -#ifdef FIX_FMSW_DEC test(); IF( st_ivas->hDecoderConfig->Opt_LsCustom && st_ivas->hLsSetupCustom == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_LsCustom ) -#endif { IF( EQ_32( ( error = ivas_ls_custom_open_fx( &( st_ivas->hLsSetupCustom ) ) ), IVAS_ERR_OK ) ) { @@ -1594,12 +1405,8 @@ ivas_error ivas_init_decoder_front( * Allocate and initialize Head-Tracking handle *--------------------------------------------------------------------*/ -#ifdef FIX_FMSW_DEC test(); IF( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation ) -#endif { IF( NE_32( ( error = ivas_headTrack_open_fx( &( st_ivas->hHeadTrackData ) ) ), IVAS_ERR_OK ) ) { @@ -1616,12 +1423,8 @@ ivas_error ivas_init_decoder_front( * Allocate and initialize external orientation handle *--------------------------------------------------------------------*/ -#ifdef FIX_FMSW_DEC test(); IF( st_ivas->hDecoderConfig->Opt_ExternalOrientation && st_ivas->hExtOrientationData == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { IF( NE_32( ( error = ivas_external_orientation_open_fx( &( st_ivas->hExtOrientationData ), st_ivas->hDecoderConfig->render_num_subframes ) ), IVAS_ERR_OK ) ) { @@ -1634,12 +1437,8 @@ ivas_error ivas_init_decoder_front( *--------------------------------------------------------------------*/ test(); -#ifdef FIX_FMSW_DEC test(); IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && st_ivas->hCombinedOrientationData == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { IF( NE_32( ( error = ivas_combined_orientation_open_fx( &( st_ivas->hCombinedOrientationData ), st_ivas->hDecoderConfig->output_Fs, st_ivas->hDecoderConfig->render_num_subframes ) ), IVAS_ERR_OK ) ) { @@ -1657,15 +1456,10 @@ ivas_error ivas_init_decoder_front( test(); test(); test(); -#ifdef FIX_FMSW_DEC test(); IF( ( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || 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 ) || ( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_STEREO ) && st_ivas->hDecoderConfig->Opt_non_diegetic_pan ) ) && st_ivas->hRenderConfig == NULL ) -#else - IF( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || 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 ) || - ( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_STEREO ) && st_ivas->hDecoderConfig->Opt_non_diegetic_pan ) ) -#endif { IF( NE_32( ( error = ivas_render_config_open_fx( &( st_ivas->hRenderConfig ) ) ), IVAS_ERR_OK ) ) { @@ -1678,10 +1472,8 @@ ivas_error ivas_init_decoder_front( } } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR st_ivas->flushing = 0; move16(); -#endif return error; } @@ -2743,19 +2535,6 @@ ivas_error ivas_init_decoder_fx( /* set number of output channels used for synthesis/decoding */ n = getNumChanSynthesis( st_ivas ); -#ifndef FIX_1585_ASAN_FORMAT_SW_ALT - IF( n > 0 ) - { - IF( ( st_ivas->mem_hp20_out_fx = (Word32 **) malloc( n * sizeof( Word32 * ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - } - ELSE - { - st_ivas->mem_hp20_out_fx = NULL; - } -#endif FOR( i = 0; i < n; i++ ) { IF( ( st_ivas->mem_hp20_out_fx[i] = (Word32 *) malloc( ( L_HP20_MEM + 2 ) * sizeof( Word32 ) ) ) == NULL ) @@ -2765,12 +2544,10 @@ ivas_error ivas_init_decoder_fx( set32_fx( st_ivas->mem_hp20_out_fx[i], 0, L_HP20_MEM + 2 ); } -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT FOR( ; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { st_ivas->mem_hp20_out_fx[i] = NULL; } -#endif /*-------------------------------------------------------------------* * Allocate and initialize rendering handles @@ -3383,17 +3160,10 @@ void ivas_initialize_handles_dec( st_ivas->hCPE[i] = NULL; } -#ifdef FIX_FMSW_DEC IF( !st_ivas->restartNeeded ) { -#endif st_ivas->bit_stream = NULL; -#ifdef FIX_FMSW_DEC } -#endif -#ifndef FIX_1585_ASAN_FORMAT_SW_ALT - st_ivas->mem_hp20_out_fx = NULL; -#endif st_ivas->hLimiter = NULL; /* ISM metadata handles */ @@ -3437,10 +3207,8 @@ void ivas_initialize_handles_dec( st_ivas->hMasaIsmData = NULL; st_ivas->hSbaIsmData = NULL; -#ifdef FIX_FMSW_DEC IF( !st_ivas->restartNeeded ) { -#endif st_ivas->hHeadTrackData = NULL; st_ivas->hHrtfTD = NULL; st_ivas->hLsSetupCustom = NULL; @@ -3450,9 +3218,7 @@ void ivas_initialize_handles_dec( st_ivas->acousticEnvironmentsCount = 0; move16(); st_ivas->pAcousticEnvironments = NULL; -#ifdef FIX_FMSW_DEC } -#endif st_ivas->hSplitBinRend = NULL; FOR( i = 0; i < MAX_HEAD_ROT_POSES - 1; ++i ) @@ -3480,17 +3246,11 @@ void ivas_initialize_handles_dec( *-------------------------------------------------------------------------*/ void ivas_destroy_dec_fx( -#ifdef FIX_FMSW_DEC Decoder_Struct **st_ivas_out /* i/o: IVAS decoder handle */ -#else - Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ -#endif ) { Word16 i; -#ifdef FIX_FMSW_DEC Decoder_Struct *st_ivas = *st_ivas_out; -#endif /* CLDFB handles */ FOR( i = 0; i < MAX_INTERN_CHANNELS; i++ ) @@ -3537,7 +3297,6 @@ void ivas_destroy_dec_fx( } /* HP20 filter handles */ -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT FOR( i = 0; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { IF( st_ivas->mem_hp20_out_fx[i] != NULL ) @@ -3546,18 +3305,6 @@ void ivas_destroy_dec_fx( st_ivas->mem_hp20_out_fx[i] = NULL; } } -#else - IF( st_ivas->mem_hp20_out_fx != NULL ) - { - FOR( i = 0; i < getNumChanSynthesis( st_ivas ); i++ ) - { - free( st_ivas->mem_hp20_out_fx[i] ); - st_ivas->mem_hp20_out_fx[i] = NULL; - } - free( st_ivas->mem_hp20_out_fx ); - st_ivas->mem_hp20_out_fx = NULL; - } -#endif /* ISM metadata handles */ ivas_ism_metadata_close( st_ivas->hIsmMetaData, 0 ); @@ -3633,18 +3380,14 @@ void ivas_destroy_dec_fx( ivas_ls_setup_conversion_close_fx( &st_ivas->hLsSetUpConversion ); /* Custom LS configuration handle */ -#ifdef FIX_FMSW_DEC IF( !st_ivas->restartNeeded ) { -#endif IF( st_ivas->hLsSetupCustom != NULL ) { free( st_ivas->hLsSetupCustom ); st_ivas->hLsSetupCustom = NULL; } -#ifdef FIX_FMSW_DEC } -#endif /* Mono downmix structure */ ivas_mono_dmx_renderer_close( &st_ivas->hMonoDmxRenderer ); @@ -3680,13 +3423,11 @@ void ivas_destroy_dec_fx( /* HRTF statistics */ ivas_HRTF_statistics_binary_close_fx( &st_ivas->hHrtfStatistics ); -#ifdef FIX_FMSW_DEC /* Limiter struct */ ivas_limiter_close_fx( &( st_ivas->hLimiter ) ); IF( !st_ivas->restartNeeded ) { -#endif /* Config. Renderer */ ivas_render_config_close_fx( &( st_ivas->hRenderConfig ) ); @@ -3697,17 +3438,12 @@ void ivas_destroy_dec_fx( st_ivas->pAcousticEnvironments = NULL; } -#ifndef FIX_FMSW_DEC - /* Limiter struct */ - ivas_limiter_close_fx( &( st_ivas->hLimiter ) ); -#endif /* Decoder configuration structure */ IF( st_ivas->hDecoderConfig != NULL ) { free( st_ivas->hDecoderConfig ); st_ivas->hDecoderConfig = NULL; } -#ifdef FIX_FMSW_DEC } ELSE { @@ -3721,7 +3457,6 @@ void ivas_destroy_dec_fx( move16(); move16(); } -#endif /* TC buffer structure */ ivas_dec_tc_buffer_close_fx( &st_ivas->hTcBuffer ); @@ -3739,15 +3474,11 @@ void ivas_destroy_dec_fx( } /* main IVAS handle */ -#ifdef FIX_FMSW_DEC if ( !st_ivas->restartNeeded ) { free( *st_ivas_out ); *st_ivas_out = NULL; } -#else - free( st_ivas ); -#endif return; } diff --git a/lib_dec/ivas_ism_dec_fx.c b/lib_dec/ivas_ism_dec_fx.c index c57989ae7fd751e1bce59819f05724a9ffcf9413..2a6806f25ee3af1e9b66a90c07ab97c38981181d 100644 --- a/lib_dec/ivas_ism_dec_fx.c +++ b/lib_dec/ivas_ism_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 d283832b33714cb68193bd1795ea5852e733a732..468cdff635b487a0126ff2100b2034fa6898312a 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c index 4e9fe4154c1e3d01c4fa3b7d6a50f0c2fb600648..bf8003c210c4ae9331600abc8439feeae4b133ed 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ism_param_dec_fx.c b/lib_dec/ivas_ism_param_dec_fx.c index 4a00c193c703a89fbfffcba56ee390a324ee8a8a..b5f0bf19c8cbb0a2a543b4ddd19d281b76c9b35c 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_ism_renderer_fx.c b/lib_dec/ivas_ism_renderer_fx.c index bd1b654e9ca4b22e40b4b8467bb8a02a5e7539ea..28f178013545f6dbf39cd7a611dabcdabe01c1bb 100644 --- a/lib_dec/ivas_ism_renderer_fx.c +++ b/lib_dec/ivas_ism_renderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -185,10 +157,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_lfe_dec_fx.c b/lib_dec/ivas_lfe_dec_fx.c index 20b2ac7c72be1af61f308794e502fb0b0a7ccdfd..9af0f9274efae2e875d02ec4de9efd4b308ed0b5 100644 --- a/lib_dec/ivas_lfe_dec_fx.c +++ b/lib_dec/ivas_lfe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c index a088b44adb6063c327e6caab8516257d3a47f3c4..7999077e783099417843ff9ddd0baf4633ee18f7 100755 --- a/lib_dec/ivas_lfe_plc_fx.c +++ b/lib_dec/ivas_lfe_plc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 b6ae99039b6a6d5fcaf06fe46d23ba253dc56559..5548ec4c91c000c108384504023e1b8ec541a1a0 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 6c80c617ddccb00968e4742551397dace09d2122..463bb2b7d4e0b7db9796fb12dc877f8de535f7ac 100644 --- a/lib_dec/ivas_masa_dec_fx.c +++ b/lib_dec/ivas_masa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mc_param_dec_fx.c b/lib_dec/ivas_mc_param_dec_fx.c index 4a191876ceba2636d140195202f3821748567b92..b2755d840f5f7586efa5cbd84f1d7dc90c84e2b7 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_mc_paramupmix_dec_fx.c b/lib_dec/ivas_mc_paramupmix_dec_fx.c index ecd8418f13c735ce46af13c2a85dba89b540fee4..d4bec881602058b5bafe6137a5e9d16dfb5145d6 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mcmasa_dec_fx.c b/lib_dec/ivas_mcmasa_dec_fx.c index b4fa9d08cc31ce1158e4c0dcbfa328d7b07ccf2e..4b91c76f87649f66243ccd6243b1c0b3db756d9d 100644 --- a/lib_dec/ivas_mcmasa_dec_fx.c +++ b/lib_dec/ivas_mcmasa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 2bba7429bdcd74fed0b6e3aba0416dfde11fbc9c..8926a91137e91ebcd024e2fc1d34eb7a1cebf5ff 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -197,9 +169,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 11892029f36f1bf5c8d37dfe5081f95225afab5b..8c8345b343f891572fefd716820bceb38734c421 100644 --- a/lib_dec/ivas_mct_dec_fx.c +++ b/lib_dec/ivas_mct_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mct_dec_mct_fx_fx.c b/lib_dec/ivas_mct_dec_mct_fx_fx.c index f4d289ee28e28ef03bff8bf679f6d810a3fed9f0..ca33e8dae7e0ba14ac9e916b4766cbc29904d7a8 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 61c4bf0ce36a45451877ca5986aecc1d7a65a5db..fc08ce17cea65634cb85376f21c1b18657e574ae 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -1510,11 +1482,7 @@ void ivas_mdct_core_tns_ns_fx( Word16 left_rect[CPE_CHANNELS]; Word16 L_spec[CPE_CHANNELS]; Word32 sns_int_scf_fx[FDNS_NPTS]; -#ifdef FIX_BASOP_2555_FRAMELEN_CALC Word16 length; -#else - Word16 exp, length; -#endif /* Initializations */ sts = hCPE->hCoreCoder; @@ -1529,7 +1497,6 @@ void ivas_mdct_core_tns_ns_fx( FOR( ch = 0; ch < CPE_CHANNELS; ch++ ) { st = sts[ch]; -#ifdef FIX_BASOP_2555_FRAMELEN_CALC IF( EQ_16( st->core, TCX_20_CORE ) ) { nSubframes[ch] = 1; @@ -1556,32 +1523,6 @@ void ivas_mdct_core_tns_ns_fx( move16(); move16(); } -#else - IF( EQ_16( st->core, TCX_20_CORE ) ) - { - nSubframes[ch] = 1; - } - ELSE - { - nSubframes[ch] = NB_DIV; - } - move16(); - - L_frame_global[ch] = BASOP_Util_Divide3216_Scale( st->L_frame, nSubframes[ch], &exp ); - move16(); - L_frame_global[ch] = shl( L_frame_global[ch], add( exp, 1 ) ); - move16(); - - L_frameTCX_glob[ch] = BASOP_Util_Divide3216_Scale( st->hTcxDec->L_frameTCX, nSubframes[ch], &exp ); - move16(); - L_frameTCX_glob[ch] = shl( L_frameTCX_glob[ch], add( exp, 1 ) ); - move16(); - - L_spec[ch] = BASOP_Util_Divide3216_Scale( st->hTcxCfg->tcx_coded_lines, nSubframes[ch], &exp ); - move16(); - L_spec[ch] = shl( L_spec[ch], add( exp, 1 ) ); - move16(); -#endif test(); test(); diff --git a/lib_dec/ivas_mono_dmx_renderer_fx.c b/lib_dec/ivas_mono_dmx_renderer_fx.c index dfdfd057f1617f7468e6464bcc7641fa56095c28..aa89fe1efbfb385e6fa81d482b08a38fad4eb4ea 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c index 8806a6aefc9a29436a76aabc5472f52980c72481..7d69a11a4741ac1796eb9d881dc723018690191e 100644 --- a/lib_dec/ivas_objectRenderer_internal_fx.c +++ b/lib_dec/ivas_objectRenderer_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*---------------------------------------------------------------------* @@ -263,17 +232,6 @@ ivas_error ivas_td_binaural_renderer_sf_fx( tmp_vector_fx = &st_ivas->hCombinedOrientationData->listenerPos[st_ivas->hCombinedOrientationData->subframe_idx]; enableCombinedOrientation = st_ivas->hCombinedOrientationData->enableCombinedOrientation[st_ivas->hCombinedOrientationData->subframe_idx]; move16(); - -#ifndef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - /* Shifting x_fx, y_fx, z_fx to the same Q-factor as Listener_p->Pos_q (usually Q25) */ - Word16 pos_q = st_ivas->hBinRendererTd->Listener_p->Pos_q; - move16(); - tmp_vector_fx->x_fx = L_shr( tmp_vector_fx->x_fx, sub( tmp_vector_fx->q_fact, pos_q ) ); - tmp_vector_fx->y_fx = L_shr( tmp_vector_fx->y_fx, sub( tmp_vector_fx->q_fact, pos_q ) ); - tmp_vector_fx->z_fx = L_shr( tmp_vector_fx->z_fx, sub( tmp_vector_fx->q_fact, pos_q ) ); - tmp_vector_fx->q_fact = pos_q; - move16(); -#endif } ELSE { diff --git a/lib_dec/ivas_omasa_dec_fx.c b/lib_dec/ivas_omasa_dec_fx.c index 49554d356fe46c50cedf2b912ee31be86a499b59..b41a7ef289ec98145b348cc5608bfe68ad2774e2 100644 --- a/lib_dec/ivas_omasa_dec_fx.c +++ b/lib_dec/ivas_omasa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_dec/ivas_osba_dec_fx.c b/lib_dec/ivas_osba_dec_fx.c index 66e92c9fd6c594f51425f4a21134d7d110fe201c..eaf71c3e4f7df0a2a8496d50712ff0de80f80f20 100644 --- a/lib_dec/ivas_osba_dec_fx.c +++ b/lib_dec/ivas_osba_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_dec/ivas_out_setup_conversion_fx.c b/lib_dec/ivas_out_setup_conversion_fx.c index a8fe1d0b0aabd9722e190bc3dc2f9328b7bba2e9..51c8dd1d22811a032a7a630e1de268bba7104c5a 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_rom_rend.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*----------------------------------------------------------------------------------* diff --git a/lib_dec/ivas_output_config_fx.c b/lib_dec/ivas_output_config_fx.c index b57f4100b985753392cfa5b58e71a48c189e4c20..06b5f9ec7b65eed01545f73a51b31356a4532217 100644 --- a/lib_dec/ivas_output_config_fx.c +++ b/lib_dec/ivas_output_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_pca_dec_fx.c b/lib_dec/ivas_pca_dec_fx.c index e5cab04c04b1854ff71d1d6b1ea8f3fccd889f0e..ff4d7e902623a1666c89c151685820f4eeb58324 100644 --- a/lib_dec/ivas_pca_dec_fx.c +++ b/lib_dec/ivas_pca_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_post_proc_fx.c b/lib_dec/ivas_post_proc_fx.c index b6eb91fd9a9f7649902dfdcff7f7a45b6185010f..14b2926d3d43bfa6c5d82f88f4014b82e20530f6 100644 --- a/lib_dec/ivas_post_proc_fx.c +++ b/lib_dec/ivas_post_proc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_qmetadata_dec_fx.c b/lib_dec/ivas_qmetadata_dec_fx.c index 7974350ce2b651139a251a2346f55c13c7d7d71e..deeb1acac020e632b0322b01e3fe1627028af014 100644 --- a/lib_dec/ivas_qmetadata_dec_fx.c +++ b/lib_dec/ivas_qmetadata_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_qspherical_dec_fx.c b/lib_dec/ivas_qspherical_dec_fx.c index f0a7b03f67ee8025be0cc94b8579741fe4230af3..432da3377ec199a5dda8dd1b16ce0c5f8ab308e4 100644 --- a/lib_dec/ivas_qspherical_dec_fx.c +++ b/lib_dec/ivas_qspherical_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 540c33123f7cdc50cc46fe61bc9803692b6bd6f6..78fa15cff5d166baad9377afead1390eaf5ed4df 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "ivas_cnst.h" diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h index f79e95cef4c4a477f12516620df86d4d1b887c0f..47417298809709be214b526553a927dd7309361b 100644 --- a/lib_dec/ivas_rom_dec.h +++ b/lib_dec/ivas_rom_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_DEC_H #define IVAS_ROM_DEC_H @@ -96,8 +68,5 @@ extern const Word16 dirac_dithering_ele_scale_fx[DIRAC_DIFFUSE_LEVELS]; extern const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df0; extern const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -extern const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_dt; -#endif #endif /* IVAS_ROM_DEC_H */ diff --git a/lib_dec/ivas_rom_dec_fx.c b/lib_dec/ivas_rom_dec_fx.c index 0f1b4108ae092be106288918f506d3f6970d121e..cc28659860789ade1accfa42d3f9389d013a515c 100644 --- a/lib_dec/ivas_rom_dec_fx.c +++ b/lib_dec/ivas_rom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -476,76 +448,6 @@ static const Word16 huff_nodes_alpha_1D_DF[64][2] = { -2, -62 } }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -/* Alpha Fine Huffman table dt */ -static const Word16 huff_nodes_alpha_1D_DT[64][2] = -{ - { -33, 1 }, - { -34, 2 }, - { -32, 3 }, - { 5, 4 }, - { -31, -35 }, - { 7, 6 }, - { -36, 8 }, - { -30, 9 }, - { 11, 10 }, - { -29, -37 }, - { 13, 12 }, - { 15, 14 }, - { -28, -38 }, - { 17, 16 }, - { -27, -39 }, - { 19, 18 }, - { -40, 20 }, - { -26, 21 }, - { 23, 22 }, - { -25, -41 }, - { 25, 24 }, - { -24, -42 }, - { 27, 26 }, - { -23, -43 }, - { 29, 28 }, - { -22, -44 }, - { 31, 30 }, - { -45, 32 }, - { -21, 33 }, - { -20, 34 }, - { -46, 35 }, - { -47, 36 }, - { -19, 37 }, - { -48, 38 }, - { -18, 39 }, - { 41, 40 }, - { -17, -49 }, - { 43, 42 }, - { -50, 44 }, - { -16, 45 }, - { 47, 46 }, - { -51, 48 }, - { -15, 49 }, - { 51, 50 }, - { -52, -65 }, - { -1, -14 }, - { 53, 52 }, - { -53, 54 }, - { -13, 55 }, - { 57, 56 }, - { -12, 58 }, - { -54, 59 }, - { 61, 60 }, - { -11, -55 }, - { -56, 62 }, - { -10, 63 }, - { -9, -57 }, - { -5, -6 }, - { -58, -61 }, - { -7, -59 }, - { -8, -62 }, - { -4, -60 }, - { -3, -64 }, - { -2, -63 } -}; -#endif /* Beta Fine Huffman table df0 */ static const Word16 huff_nodes_first_band_beta[8][2] = @@ -559,13 +461,6 @@ static const Word16 huff_nodes_beta_1D_DF[16][2] = { -9, 1 }, { -10, 2 }, { -8, 3 }, { -11, 4 }, { -7, 5 }, { 7, 6 }, { -6, -12 }, { 9, 8 }, { -5, -13 }, { 11, 10 }, { -4, -14 }, { -15, 12 }, { -3, 13 }, { -16, 14 }, { -2, 15 }, { -1, -17 } }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -/* Beta Fine Huffman table dt */ -static const Word16 huff_nodes_beta_1D_DT[16][2] = -{ - { -9, 1 }, { -10, 2 }, { -8, 3 }, { -11, 4 }, { -7, 5 }, { 7, 6 }, { -6, -12 }, { -13, 8 }, { -5, 9 }, { -14, 10 }, { -4, 11 }, { -15, 12 }, { -3, 13 }, { -16, 14 }, { -2, 15 }, { -1, -17 } -}; -#endif const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df0 = { @@ -579,12 +474,5 @@ const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df = huff_nodes_beta_1D_DF }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_dt = -{ - huff_nodes_alpha_1D_DT, - huff_nodes_beta_1D_DT -}; -#endif /* clang-format on */ diff --git a/lib_dec/ivas_sba_dec_fx.c b/lib_dec/ivas_sba_dec_fx.c index 24dcdce224f29f4e7c618a70c6c9a57113d23842..fb5fea8bdb9e5830e4be2414e782272f9f2b6085 100644 --- a/lib_dec/ivas_sba_dec_fx.c +++ b/lib_dec/ivas_sba_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 1e39811e201dfd35b4bb12ee44898117756ced96..aa63cb5d8bf47f03fb2e94bc4d84d40bdfc3ab40 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -1519,14 +1491,8 @@ void ivas_sba_dirac_stereo_dec_fx( synchro_synthesis_fx( st_ivas->hDecoderConfig->ivas_total_brate, hCPE, output, output_frame, 1 /*st_ivas->sba_dirac_stereo_flag*/, q_dft[0] ); /* output scaling */ -#ifdef FIX_1521_SBA_LOUDNESS_STEREO IF( !sba_mono_flag ) -#else - test(); - IF( !sba_mono_flag && !( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_16( st_ivas->ism_mode, ISM_MODE_NONE ) ) ) -#endif { -#ifdef FIX_1521_SBA_LOUDNESS_STEREO test(); IF( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_16( st_ivas->ism_mode, ISM_MODE_NONE ) ) { @@ -1542,10 +1508,6 @@ void ivas_sba_dirac_stereo_dec_fx( v_multc_fx( output[0], INV_SQRT2_FX, output[0], output_frame ); v_multc_fx( output[1], INV_SQRT2_FX, output[1], output_frame ); } -#else - v_shr( output[0], 1, output[0], output_frame ); /*0.5f*/ - v_shr( output[1], 1, output[1], output_frame ); /*0.5f*/ -#endif } /* delay HB synth */ diff --git a/lib_dec/ivas_sba_rendering_internal_fx.c b/lib_dec/ivas_sba_rendering_internal_fx.c index d595b8ae5494a6dd2ff0507cf4f2516c1b69111a..38c3f919feaa9fdc9b7120b09b3532100216890a 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "ivas_cnst.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------------* @@ -554,9 +523,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 22bd4094a28be8db283b9db4f207da4956fbb44c..acc86787c7ed7336c59262435ef42ca4df8a9405 100644 --- a/lib_dec/ivas_sce_dec_fx.c +++ b/lib_dec/ivas_sce_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_sns_dec_fx.c b/lib_dec/ivas_sns_dec_fx.c index 1120c4eb969f732d1da5a977fc0d16bae3641dde..30c62db361a3c10ebafb35b025cf0147db0d94b3 100644 --- a/lib_dec/ivas_sns_dec_fx.c +++ b/lib_dec/ivas_sns_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement beFORe making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively FOR experts who have experience with such software and - solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness FOR a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_spar_decoder_fx.c b/lib_dec/ivas_spar_decoder_fx.c index f36cdc0cbfc67e314ebaa2bcd67687aa6a3ff411..df45a28e43d70b89ef3d507f3883b1397c7e1a58 100644 --- a/lib_dec/ivas_spar_decoder_fx.c +++ b/lib_dec/ivas_spar_decoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -41,9 +13,6 @@ #include "ivas_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 54fc60583b4dd9b5bc1e81b18c313aa1be9c0c4a..6f5c324a6780331254c587a7229d3acef32370be 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -904,17 +876,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 8a1444278756ccf4d8d7aeac39d148b419a5af9c..75dd54fb093c2d3289046834dd76410d132b9446 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_STAT_DEC_H #define IVAS_STAT_DEC_H @@ -1114,11 +1086,7 @@ typedef struct Decoder_Struct UWord16 *bit_stream; /* Pointer to bitstream buffer */ Word16 writeFECoffset; /* parameter for debugging JBM stuff */ -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT Word32 *mem_hp20_out_fx[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS]; /* output signals HP filter memories */ -#else - Word32 **mem_hp20_out_fx; /* output signals HP filter memories */ -#endif IVAS_LIMITER_HANDLE hLimiter; /* Limiter handle */ /* core-decoder modules */ @@ -1194,9 +1162,7 @@ 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 Word16 restartNeeded; /* Flag to signal decoder restart */ } 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 064f317199632999e021d0d3960cc07ecbe0686c..564eb759d9043eea557b28d720f1e446a33f4624 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 bf09e23361b8a3e1055bf81da85661c33e50ba5f..dca5aae249503ae61a42ccd1eb59208457e43cbb 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 125063b3f3daafb5a5e6bd7ddd9a6ecd0a82385e..d4a32551564dc1d1921f32cb7dc3388b1f16846f 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c index 60bab87f0890374a30a9769e7f114238af2bfbf6..bbaa32e0295a72d0147bac5e74b1902fa37e00d9 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -41,9 +13,6 @@ #include "ivas_rom_dec.h" #include "wmc_auto.h" #include "basop_util.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -115,21 +84,13 @@ void stereo_dft_dec_reset_fx( set16_fx( hStereoDft->res_pred_index_previous, 0, STEREO_DFT_BAND_MAX ); -#ifdef FIX_BASOP_2560_STEREO_DFT_DEC_RESET FOR( i = 0; i < STEREO_DFT_BAND_MAX; i++ ) -#else - FOR( i = 0; i < STEREO_DFT_BAND_MAX * 2; i++ ) -#endif { hStereoDft->res_gains_ind_fx[0][i] = 1006632960; /* 15.0f in Q26 */ move32(); } -#ifdef FIX_BASOP_2560_STEREO_DFT_DEC_RESET set32_fx( hStereoDft->res_gains_ind_fx[1], 0, STEREO_DFT_BAND_MAX ); -#else - set32_fx( hStereoDft->res_gains_ind_fx[1], 0, STEREO_DFT_BAND_MAX * 2 ); -#endif /*residual coding*/ set16_fx( hStereoDft->res_cod_mode, hStereoDft->hConfig->res_cod_mode, STEREO_DFT_DEC_DFT_NB ); @@ -4419,9 +4380,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(); @@ -4438,10 +4396,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 670b19e36cae2a55d2206cc238b62a8c489dd66c..16ed904705a79dd865618f6b15ca7d7c3d4971a2 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_eclvq_dec_fx.c b/lib_dec/ivas_stereo_eclvq_dec_fx.c index f487d2f0c6383f7bca9254ca0cd400b75e5170cc..4f008bd932e8a29586684f630a24238d21f5cdb1 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 a438c3e5ccc5954b6038fb6327cce98e55cb35b0..9bda4f8ca1c2c6e2f0ee65fc5b185f406133e89b 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 9345fccaebfca269ed67ca8ac538e835852c3991..2258f8ba83319d04d4b308b25c7e0318c638248c 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_icbwe_dec_fx.c b/lib_dec/ivas_stereo_icbwe_dec_fx.c index 0ccd2ed43af724c05d8500853d0d1c4a5280c13c..26baabfaf605eb20ffe85b778811aa2a0c2a0df7 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 d40505a358e6ba5a4fb84e2ef093ec710863b333..27f14e7cfb068f3d8073960f9b74c5313a40674a 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 6e5fa6b7751b913d64fbebd0f7c9893596ff8daa..69639695d4598d746f34193525f92d1df50b4f17 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_switching_dec_fx.c b/lib_dec/ivas_stereo_switching_dec_fx.c index f0684a3f4a051a9144a67f1c8aeec1f0168985d3..8edd7b9c494d680946096aa6857c29365b7edbea 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -82,10 +54,8 @@ static ivas_error allocate_CoreCoder_TCX_fx( st->hTcxDec->q_old_synth = 0; move16(); set16_fx( st->hTcxDec->synth_history_fx, 0, L_PROT48k + L_FRAME48k ); -#ifdef FIX_BASOP_2559_Q_SYNTH_HISTORY_RESET st->hTcxDec->q_synth_history_fx = 0; move16(); -#endif } IF( st->hTcxCfg == NULL ) diff --git a/lib_dec/ivas_stereo_td_dec_fx.c b/lib_dec/ivas_stereo_td_dec_fx.c index 39b861ace07c42a23c0b0f5b5607a545571e2cdb..f052f947ccc76cdc7aafe06e5860f85da1739f59 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_svd_dec_fx.c b/lib_dec/ivas_svd_dec_fx.c index 775cbcfebc7fe93483b8f7cbab10faad4fdd3808..baa5c183931f08b68c3dce67e96c6bcd4d3b4377 100755 --- a/lib_dec/ivas_svd_dec_fx.c +++ b/lib_dec/ivas_svd_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -49,9 +21,6 @@ #define SVD_ZERO_FLUSH_THRESHOLD_FX ( 0 ) #define CONVERGENCE_FACTOR_FX 214748 /* factor for SVD convergence (as per latest float code: 1.0e-04f) */ -#ifndef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW -#define MINUS_ONE_IN_Q31 ( -2147483647 - 1 ) -#endif /*-----------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index eb5c88faaf648cfc673f81b72ca5ff994d5e188d..cae90680471a30d2dc5e4d8e9af925dfd9df0f56 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_td_low_rate_dec_fx.c b/lib_dec/ivas_td_low_rate_dec_fx.c index a5141e3986d6452dcdb4a6b769b0acc620d0b513..5f0bc16c1cbb1ca87ffd51b8e3636f6bbdb9bab0 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h index 4817f16497928d81b274c7d7664cb884fde39a2b..0d60ad008cb2123cdedbe0f2897713cadf6293bc 100644 --- a/lib_dec/jbm_jb4_circularbuffer.h +++ b/lib_dec/jbm_jb4_circularbuffer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_circularbuffer_fx.c b/lib_dec/jbm_jb4_circularbuffer_fx.c index b26e8c49ed68bb1b0a947415f3fa8cbd510ab1fd..5734583e799c2a061722b7556b299097bc8a602f 100644 --- a/lib_dec/jbm_jb4_circularbuffer_fx.c +++ b/lib_dec/jbm_jb4_circularbuffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h index efd782488481a7dd32c6931518c50d40ebc11825..9e4699d2ef3c60bdd4a2e8ecc0627d9e58bff054 100644 --- a/lib_dec/jbm_jb4_inputbuffer.h +++ b/lib_dec/jbm_jb4_inputbuffer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_inputbuffer_fx.c b/lib_dec/jbm_jb4_inputbuffer_fx.c index 9dc8130228224d55546cd976c8a42308a82e656f..63303cf8bd5ce2b0d7065c4223b97923fe30c6f3 100644 --- a/lib_dec/jbm_jb4_inputbuffer_fx.c +++ b/lib_dec/jbm_jb4_inputbuffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h index a55991780460d49e2791a182bbd7b1e1d7321888..ca8da234ac7cdde089696ed99baa1a98cc805611 100644 --- a/lib_dec/jbm_jb4_jmf.h +++ b/lib_dec/jbm_jb4_jmf.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_jmf_fx.c b/lib_dec/jbm_jb4_jmf_fx.c index ba17c5cd804ffd1880655c0d59d0a232b4e793f5..e025273a6fa7c0f94e4b65ced457168b63cc10b1 100644 --- a/lib_dec/jbm_jb4_jmf_fx.c +++ b/lib_dec/jbm_jb4_jmf_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h index ced9edadbf025e6f28d8793405772e372ff71093..4c96a515a3cd9664a38c46e7cd831b19d612e89a 100644 --- a/lib_dec/jbm_jb4sb.h +++ b/lib_dec/jbm_jb4sb.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -86,9 +58,7 @@ void JB4_Destroy( JB4_HANDLE *ph ); ivas_error JB4_Init( JB4_HANDLE h, const Word16 safetyMargin ); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h ); -#endif JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h ); diff --git a/lib_dec/jbm_jb4sb_fx.c b/lib_dec/jbm_jb4sb_fx.c index e93e4f7cfd5a2b650645ba6f0c1a9f4b472dbf8f..a8af7724cd35e4c1e82a44a65b3e1af0f6d59163 100644 --- a/lib_dec/jbm_jb4sb_fx.c +++ b/lib_dec/jbm_jb4sb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -197,9 +169,7 @@ struct JB4 JB4_DATAUNIT_HANDLE freeMemorySlots[MAX_JBM_SLOTS]; UWord16 nFreeMemorySlots; /*@} */ -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED bool evsMode; -#endif }; /* JB4 */ @@ -325,10 +295,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; @@ -413,13 +381,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( @@ -773,15 +739,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 220d301a7d74300aa71fbd6e76df17c9894c5dfa..30a3b3d37b0e51e8b97e4579972bc04bcae34022 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_apa_fx.c b/lib_dec/jbm_pcmdsp_apa_fx.c index 9a7a88bf10b2245c2e4040387afb3831456e9ec3..bbc094bfc2ce8f4a2380f46797b40bdc71f02a29 100644 --- a/lib_dec/jbm_pcmdsp_apa_fx.c +++ b/lib_dec/jbm_pcmdsp_apa_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -881,16 +853,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; } diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h index 77e9b655ca4ecc2dd45caa43eb878aaa039058f9..944a1133b63a32f08af7011032ea20400a042429 100644 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h index 7a6d9f6da8e161c0e4fd8efb3b1484a8093d02f1..1e065f8b11777d2d4dd4a608d7bcf406c0e8e6cb 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation.h +++ b/lib_dec/jbm_pcmdsp_similarityestimation.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c index e088a38a6390f5840a20557b89e180694e29b0e9..65fd679c499903174bca7ea1482374afcf55624d 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c +++ b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h index c18d11ec7e06412fe3f9e595845bc1c453c7fbd3..e3a7143fe607d1ea9c1273f58cb5376ae50aa86b 100644 --- a/lib_dec/jbm_pcmdsp_window.h +++ b/lib_dec/jbm_pcmdsp_window.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_window_fx.c b/lib_dec/jbm_pcmdsp_window_fx.c index 73faf37e21824d3693b98f462c10f5d2d4e3367d..c10da25678712f9c8907bae7d4444cc663481246 100644 --- a/lib_dec/jbm_pcmdsp_window_fx.c +++ b/lib_dec/jbm_pcmdsp_window_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/lead_deindexing_fx.c b/lib_dec/lead_deindexing_fx.c index 3773990a1f55df3b3d9e1dd0201615ebb13fd001..452ee40d9219f98ecd4397f8859a8f4f732b7930 100644 --- a/lib_dec/lead_deindexing_fx.c +++ b/lib_dec/lead_deindexing_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index 89d2e967cb588867807e5507d94144950f9cef59..794ec31528aab82174f1ea0c22d628486fd306d0 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_DEC_H #define LIB_DEC_H @@ -128,13 +100,11 @@ ivas_error IVAS_DEC_Configure( const bool delayCompensationEnabled /* i : enable delay compensation */ ); -#ifdef FIX_FMSW_DEC ivas_error IVAS_DEC_Restart( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ const IVAS_DEC_MODE mode /* i : compatibility mode (EVS or IVAS) */ ); -#endif void IVAS_DEC_Close( IVAS_DEC_HANDLE *phIvasDec /* i/o: pointer to IVAS decoder handle */ ); @@ -289,17 +259,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 */ diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index c5b9a765ed1ab6c23c2e814c0cb48a9f1caf9b50..d70079cd75737427ab5cca9011928292e7f4c39c 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -1,4 +1,7 @@ -/****************************************************************************************************** +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ +/****************************************************************************************************** (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., @@ -81,10 +84,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*/ @@ -129,8 +129,6 @@ static Word16 ivas_dec_split_rend_cldfb_in( const RENDERER_TYPE renderer_type ); static void update_voip_rendered20ms( IVAS_DEC_HANDLE hIvasDec, const Word16 nSamplesRendered ); -#ifdef FIX_FMSW_DEC - /*---------------------------------------------------------------------* * ivas_dec_handle_init() * @@ -167,7 +165,6 @@ static ivas_error ivas_dec_handle_init( move16(); move16(); -#ifdef FIX_FMSW_DEC_2 st_ivas->last_ivas_format = UNDEFINED_FORMAT; st_ivas->nSCE = 0; st_ivas->nCPE = 0; @@ -175,7 +172,6 @@ static ivas_error ivas_dec_handle_init( move16(); move16(); -#endif IF( EQ_16( mode, IVAS_DEC_MODE_EVS ) ) { st_ivas->element_mode_init = EVS_MONO; @@ -217,7 +213,6 @@ static ivas_error ivas_dec_handle_init( return IVAS_ERR_WRONG_PARAMS; } -#endif /*---------------------------------------------------------------------* * IVAS_DEC_Open() @@ -239,13 +234,11 @@ ivas_error IVAS_DEC_Open( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef FIX_FMSW_DEC if ( *phIvasDec != NULL ) { return IVAS_ERR_WRONG_PARAMS; } -#endif /*-----------------------------------------------------------------* * Allocate and initialize IVAS application decoder handle *-----------------------------------------------------------------*/ @@ -295,10 +288,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*/ @@ -326,79 +315,16 @@ ivas_error IVAS_DEC_Open( st_ivas = hIvasDec->st_ivas; -#ifdef FIX_FMSW_DEC st_ivas->restartNeeded = 0; move16(); -#endif /* initialize Decoder Config. handle */ init_decoder_config( hIvasDec->st_ivas->hDecoderConfig ); -#ifdef FIX_FMSW_DEC /* Set IVAS decoder handles to NULL + set high-level parameters */ return ivas_dec_handle_init( st_ivas, mode, &( hIvasDec->hasDecodedFirstGoodFrame ) ); -#else - /* initialize pointers to handles to NULL */ - ivas_initialize_handles_dec( st_ivas ); - - st_ivas->restartNeeded = 0; - move16(); - - /* set high-level parameters */ - st_ivas->codec_mode = 0; /* unknown before first frame */ - st_ivas->transport_config = IVAS_AUDIO_CONFIG_INVALID; - st_ivas->intern_config = IVAS_AUDIO_CONFIG_INVALID; - st_ivas->writeFECoffset = 0; - st_ivas->sba_analysis_order = 0; /* not really used in EVS mode, but initialize here to fix MSAN complaint */ - move16(); - move16(); - move16(); - move16(); - move16(); - - IF( EQ_16( mode, IVAS_DEC_MODE_EVS ) ) - { - st_ivas->element_mode_init = EVS_MONO; - st_ivas->ivas_format = MONO_FORMAT; - hIvasDec->hasDecodedFirstGoodFrame = true; /* Functionality to suppress output for initial lost frames is disabled in EVS operation */ - move16(); - move16(); - move16(); - - return IVAS_ERR_OK; - } - ELSE IF( EQ_16( mode, IVAS_DEC_MODE_IVAS ) ) - { - st_ivas->element_mode_init = -1; - st_ivas->ivas_format = UNDEFINED_FORMAT; - st_ivas->renderer_type = RENDERER_DISABLE; - st_ivas->ini_frame = 0; - st_ivas->ini_active_frame = 0; - - st_ivas->ism_mode = ISM_MODE_NONE; - st_ivas->mc_mode = MC_MODE_NONE; - - st_ivas->sba_order = 0; - st_ivas->sba_planar = 0; - - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - - return IVAS_ERR_OK; - } - - return IVAS_ERR_WRONG_PARAMS; -#endif } -#ifdef FIX_FMSW_DEC /*---------------------------------------------------------------------* * IVAS_DEC_Restart() @@ -423,19 +349,14 @@ ivas_error IVAS_DEC_Restart( { return IVAS_ERR_OK; } -#ifdef FIX_FMSW_DEC_2 ELSE { /* switching between EVS and IVAS signaled in RTP */ hIvasDec->st_ivas->restartNeeded = 1; move16(); } -#else - return IVAS_ERR_WRONG_PARAMS; -#endif } -#ifdef FIX_FMSW_DEC_2 IF( NE_16( hIvasDec->mode, mode ) ) /* handle switching between EVS and IVAS */ { /* initialize JBM */ @@ -452,7 +373,6 @@ ivas_error IVAS_DEC_Restart( move16(); } -#endif hIvasDec->mode = mode; move16(); @@ -466,7 +386,6 @@ ivas_error IVAS_DEC_Restart( return ivas_dec_handle_init( hIvasDec->st_ivas, mode, &( hIvasDec->hasDecodedFirstGoodFrame ) ); } -#endif /*-------------------------------------------------------------------------* * isar_set_split_rend_setup() @@ -588,12 +507,7 @@ void IVAS_DEC_Close( ivas_destroy_handle_isar( &( *phIvasDec )->st_ivas->hSplitBinRend ); /* destroy IVAS decoder handles */ -#ifdef FIX_FMSW_DEC ivas_destroy_dec_fx( &( *phIvasDec )->st_ivas ); -#else - ivas_destroy_dec_fx( ( *phIvasDec )->st_ivas ); - ( *phIvasDec )->st_ivas = NULL; -#endif } apa_exit( &( *phIvasDec )->hTimeScaler ); @@ -1098,9 +1012,6 @@ ivas_error IVAS_DEC_EnableVoIP( hDecoderConfig = hIvasDec->st_ivas->hDecoderConfig; -#ifdef DEBUGGING - hIvasDec->Opt_VOIP = 1; -#endif hDecoderConfig->Opt_tsm = 1; move16(); move16(); @@ -1148,12 +1059,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 ) @@ -1771,9 +1680,7 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( scale_sig32( p_head_pose_buf[i], numSamplesPerChannelToOutput, sub( Q11, Q_out[i] ) ); // Q11 } -#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 ivas_syn_output_fx( p_head_pose_buf, Q11, numSamplesPerChannelToOutput, st_ivas->hDecoderConfig->nchan_out, pcmBuf_out ); } @@ -3670,90 +3577,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() @@ -4331,12 +4154,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 ) ) ) { @@ -4407,12 +4224,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; @@ -4468,9 +4279,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; @@ -4513,9 +4321,6 @@ ivas_error IVAS_DEC_SetEditableParameters( } 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; @@ -4581,21 +4386,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 ) @@ -5104,9 +4900,7 @@ IF( hIvasDec->hasDecodedFirstGoodFrame &&splitRendBits != NULL ) scale_sig32( p_head_pose_buf[i], *nSamplesRendered, sub( Q11, Q_out[i] ) ); // Q11 } -#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 ivas_syn_output_fx( p_head_pose_buf, Q11, *nSamplesRendered, st_ivas->hDecoderConfig->nchan_out, pcmBuf ); } @@ -5269,10 +5063,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(); @@ -5295,10 +5087,8 @@ ivas_error IVAS_DEC_Flush( move16(); } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR hIvasDec->st_ivas->flushing = 0; move16(); -#endif return error; } @@ -5830,10 +5620,8 @@ static ivas_error evs_dec_main_fx( st_ivas->BER_detect = hCoreCoder[0]->BER_detect; move16(); -#ifdef FIX_FMSW_DEC st_ivas->last_ivas_format = MONO_FORMAT; move16(); -#endif /*if ( st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_MONO )*/ { @@ -6589,25 +6377,6 @@ static void setDiegeticInputPI( return; } -#ifdef DEBUGGING - -/*---------------------------------------------------------------------* - * fixedToFloat( ) - * - * - *---------------------------------------------------------------------*/ - -static float fixedToFloat( - const Word32 i, - const Word16 Q ) -{ - if ( Q < 0 ) - return ( i * (float) ( ( 1LL ) << ( -Q ) ) ); - else - return (float) ( i ) / (float) ( 1LL << Q ); -} - -#endif /*---------------------------------------------------------------------* * IVAS_DEC_FeedPiDataToDecoder( ) @@ -6644,13 +6413,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; @@ -6658,13 +6420,6 @@ 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; @@ -6674,9 +6429,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( 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 ) @@ -6688,9 +6440,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( 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; diff --git a/lib_dec/lp_exc_d_fx.c b/lib_dec/lp_exc_d_fx.c index 0ce010cebc579ba4be26a60f625a63a56f7b65f7..dc6dd36fd07345ea05d7da1ac1e03c450cfd0150 100644 --- a/lib_dec/lp_exc_d_fx.c +++ b/lib_dec/lp_exc_d_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/lsf_dec_fx.c b/lib_dec/lsf_dec_fx.c index b44441aaa07e70b31e1286fa30fc740e20454639..03bca6325bc9e4b6139562886325d22c2369534a 100644 --- a/lib_dec/lsf_dec_fx.c +++ b/lib_dec/lsf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/lsf_msvq_ma_dec_fx.c b/lib_dec/lsf_msvq_ma_dec_fx.c index 968f57a4282cff9bfd8ea76151d642771c1c365f..0ab544d7ab31f085b8fb694f58668810794d82d6 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/nelp_dec_fx.c b/lib_dec/nelp_dec_fx.c index ff9c44bcdd4a32ccaabcfb29f89110cc31ca6c14..307c51a9db5165c71ed594e5d2b38bb7bb6217c8 100644 --- a/lib_dec/nelp_dec_fx.c +++ b/lib_dec/nelp_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/peak_vq_dec_fx.c b/lib_dec/peak_vq_dec_fx.c index cf12153fd5945c5d967a0bc5274c8a1fe8c35b9a..b3fd4a9fbdac7f7bcb4616347ccd61d56b6085ae 100644 --- a/lib_dec/peak_vq_dec_fx.c +++ b/lib_dec/peak_vq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pit_dec_fx.c b/lib_dec/pit_dec_fx.c index 98dfc5d202001b776c61f6383d7dfbced4d19556..5fce8842bfa5333fcc85fff68ce5f1c7a228646f 100644 --- a/lib_dec/pit_dec_fx.c +++ b/lib_dec/pit_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pitch_extr_fx.c b/lib_dec/pitch_extr_fx.c index bddaac82bdb6f3230c176188406becf5a31ba6df..f0b59422ea854fa18e8c125ea416dd3d565948bc 100644 --- a/lib_dec/pitch_extr_fx.c +++ b/lib_dec/pitch_extr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/post_dec_fx.c b/lib_dec/post_dec_fx.c index 3b1b5336aaeba8e96974323bec46e3aaa5e89371..4eb6dbcaff1ab9afbd31637a53b452aa28b8882c 100644 --- a/lib_dec/post_dec_fx.c +++ b/lib_dec/post_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/ppp_dec_fx.c b/lib_dec/ppp_dec_fx.c index a9254f68c0e43d7b976d7e0bf1535a5e915fbdc9..1cdbcd5e2909d3e8bb8a7c9834b91aea7bb2b70a 100644 --- a/lib_dec/ppp_dec_fx.c +++ b/lib_dec/ppp_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pvq_core_dec_fx.c b/lib_dec/pvq_core_dec_fx.c index 6673c9f33439291686a682215ccebb484064d89f..c64eb2e5b61703c3868b96db5a0522479947faee 100644 --- a/lib_dec/pvq_core_dec_fx.c +++ b/lib_dec/pvq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pvq_decode_fx.c b/lib_dec/pvq_decode_fx.c index 30fb67c356341fe87bd84ae6fe58934541f6b4e4..e4001a75a6278d2c3a9f93bb708a8d327429254c 100644 --- a/lib_dec/pvq_decode_fx.c +++ b/lib_dec/pvq_decode_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/range_dec_fx.c b/lib_dec/range_dec_fx.c index fc68dee3521021ed909c631a209cef8c762db8d6..ccb60c19366348edb8981b103605a235e7a39bc5 100644 --- a/lib_dec/range_dec_fx.c +++ b/lib_dec/range_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/re8_dec_fx.c b/lib_dec/re8_dec_fx.c index 7c88bea92d8ca67b5a0cfcaea50bc578d3915c94..e631624c2d505bc3b704186c1dfef938580dc672 100644 --- a/lib_dec/re8_dec_fx.c +++ b/lib_dec/re8_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h index f5eed905ba5d6457f3c67389849c090395161dc4..8bf8a1b35b285e5e7b5c2fba51c5d61d0489126e 100644 --- a/lib_dec/rom_dec.h +++ b/lib_dec/rom_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/rom_dec_fx.c b/lib_dec/rom_dec_fx.c index a8254a6381c5a10c4cfda992dffb70160eefdf9f..7d5377d6d03459f8bfd6a48a56bdf390e1b8d6b1 100644 --- a/lib_dec/rom_dec_fx.c +++ b/lib_dec/rom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/rst_dec_fx.c b/lib_dec/rst_dec_fx.c index cce198e33850939caae17e89a855e7aa2fb3ab84..57642ef5bba48c093e49cd77510a276d53aeb6f9 100644 --- a/lib_dec/rst_dec_fx.c +++ b/lib_dec/rst_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h index 58056843eb6fc00397370916450dd4c7d3b2be26..191f06505bdace9f4903f696c0bb3ad874842de8 100644 --- a/lib_dec/stat_dec.h +++ b/lib_dec/stat_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -1016,11 +988,8 @@ typedef struct Decoder_State * Common parameters *----------------------------------------------------------------------------------*/ - Word16 idchan; /* channel ID (audio channel number) */ - Word16 element_mode; /* element mode */ -#ifdef DEBUGGING - Word16 id_element; /* element ID */ -#endif + Word16 idchan; /* channel ID (audio channel number) */ + Word16 element_mode; /* element mode */ Word32 element_brate; /* element bitrate */ Word16 codec_mode; /* Mode 1 or 2 */ Word16 mdct_sw_enable; /* MDCT switching enable flag */ diff --git a/lib_dec/stat_noise_uv_dec_fx.c b/lib_dec/stat_noise_uv_dec_fx.c index b36fec665a0a6ef2d91aa16db1d907a175c0694f..b7d3ff18a1b88de705d8a2808b4544e437fdd610 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_fx.c b/lib_dec/swb_bwe_dec_fx.c index f90928a965b13605ef5b9aa3a4be8359575fba24..bfd6484fd8c74bd73fdb7dfe884c2d6912b02d1c 100644 --- a/lib_dec/swb_bwe_dec_fx.c +++ b/lib_dec/swb_bwe_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_hr_fx.c b/lib_dec/swb_bwe_dec_hr_fx.c index ed4fcbbccef5bf80ab1f7221f538c4c39d373e54..f8af8039108144a05de61b476eca9519aed93c7c 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_lr_fx.c b/lib_dec/swb_bwe_dec_lr_fx.c index c7c94adacf19b8170e9f3c4c9a44f0a259362ef6..65d0661e8863facd13577da81250aa019e22b6c8 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_tbe_dec_fx.c b/lib_dec/swb_tbe_dec_fx.c index c8dfc5a5da7ff5117e071c1e13c9f604ee627a50..66eeb9956be6a16455abb91444b59a4a745fdf90 100644 --- a/lib_dec/swb_tbe_dec_fx.c +++ b/lib_dec/swb_tbe_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/syn_outp_fx.c b/lib_dec/syn_outp_fx.c index 82d5b1cabaf1276e6d4dbadd29693bfa3d10fc9a..3b4738acf029d51aad41006c14df190824983214 100644 --- a/lib_dec/syn_outp_fx.c +++ b/lib_dec/syn_outp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tcq_core_dec_fx.c b/lib_dec/tcq_core_dec_fx.c index adebdb7039093760ac8c8454f311dc2e72685e10..f32a4d2d7889e49c14abcc7f4f4b10f9456bc559 100644 --- a/lib_dec/tcq_core_dec_fx.c +++ b/lib_dec/tcq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tcx_utils_dec_fx.c b/lib_dec/tcx_utils_dec_fx.c index 2c35ec0bcfca62730e61a17a1f1b0dcc7ac1a345..dd248c47e3add3eeb50ee22070f38ad465c6389a 100644 --- a/lib_dec/tcx_utils_dec_fx.c +++ b/lib_dec/tcx_utils_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tns_base_dec_fx.c b/lib_dec/tns_base_dec_fx.c index aa154531b12ea5097761d14b736cd91f8349a94e..ac137e1d95297a8e8d177624e32b4c8a4ce26c54 100644 --- a/lib_dec/tns_base_dec_fx.c +++ b/lib_dec/tns_base_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tonalMDCTconcealment_fx.c b/lib_dec/tonalMDCTconcealment_fx.c index e45aac27c19905187e937acac0b44d947e6358e4..1e5161f8760c2548cb800f194576e8140dc960f5 100644 --- a/lib_dec/tonalMDCTconcealment_fx.c +++ b/lib_dec/tonalMDCTconcealment_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/transition_dec_fx.c b/lib_dec/transition_dec_fx.c index 8fb036d2adc76482f9a365e82ff5452b838bb138..0904a1b544e98fa4242699eacdddd120ca81262d 100644 --- a/lib_dec/transition_dec_fx.c +++ b/lib_dec/transition_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/updt_dec_fx.c b/lib_dec/updt_dec_fx.c index 3efd077223e7422408b5c66352666455830576c7..81d5dea0fbdabb4ffab641b799c4a0f1d48bd358 100644 --- a/lib_dec/updt_dec_fx.c +++ b/lib_dec/updt_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/vlpc_1st_dec_fx.c b/lib_dec/vlpc_1st_dec_fx.c index b77d7fce272422eedbb1c9e6a3455d7088cadd42..edec6ea4e2d88b28919a9853e8abbbbd7eab1451 100644 --- a/lib_dec/vlpc_1st_dec_fx.c +++ b/lib_dec/vlpc_1st_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/vlpc_2st_dec_fx.c b/lib_dec/vlpc_2st_dec_fx.c index a4c1c9e7e5412c79e5b22886fdfb19711736ab07..eca68a8719f390be87688c8b9a3bcdad11428b4d 100644 --- a/lib_dec/vlpc_2st_dec_fx.c +++ b/lib_dec/vlpc_2st_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/voiced_dec_fx.c b/lib_dec/voiced_dec_fx.c index 2108baad59d767c4900d18562756eae4a0247cab..8a2da63bb481fbcf67297be8f58d73656141ecd2 100644 --- a/lib_dec/voiced_dec_fx.c +++ b/lib_dec/voiced_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/waveadjust_fec_dec_fx.c b/lib_dec/waveadjust_fec_dec_fx.c index 8ac2be1675cf84edd0e1aad2b19976a105d2299c..480c610adfdcf747665f3361a481bbde4321f780 100644 --- a/lib_dec/waveadjust_fec_dec_fx.c +++ b/lib_dec/waveadjust_fec_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ACcontextMapping_enc_fx.c b/lib_enc/ACcontextMapping_enc_fx.c index 46d941a8d24dc40102afc036ce4538e28a290c5c..7283c89c660c01ba7c7db1cf2f2b4b013b959047 100644 --- a/lib_enc/ACcontextMapping_enc_fx.c +++ b/lib_enc/ACcontextMapping_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -41,11 +44,7 @@ void ACcontextMapping_encode2_no_mem_s17_LC_fx( CONTEXT_HM_CONFIG *hm_cfg ) { Word16 ptr[BITBUFSIZE]; -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Tastat as, as_overflow; -#else - TastatEnc as, as_overflow; -#endif Word16 bp, bp_overflow; Word16 a1, b1, a1_i, b1_i, k; Word16 t, pki, lev1; @@ -244,11 +243,7 @@ void ACcontextMapping_encode2_no_mem_s17_LC_fx( bp = ari_encode_14bits_ext_fx( ptr, bp, &as, add( a1, shl( b1, A_THRES_SHIFT ) ), ari_pk_s17_LC_ext[pki] ); /* Q0 */ /* Check bit budget */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC IF( GT_16( add( add( add( bp, extract_l( as.bits_to_follow ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#else - IF( GT_16( add( add( add( bp, extract_l( as.value ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#endif { ari_copy_states_fx( &as_overflow, &as ); bp = bp_overflow; /* Q0 */ @@ -278,11 +273,7 @@ void ACcontextMapping_encode2_no_mem_s17_LC_fx( move16(); bp = ari_encode_14bits_ext_fx( ptr, bp, &as, 0, ari_pk_s17_LC_ext[pki] ); /* Q0 */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC IF( GT_16( add( add( add( bp, extract_l( as.bits_to_follow ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#else - IF( GT_16( add( add( add( bp, extract_l( as.value ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#endif { ari_copy_states_fx( &as_overflow, &as ); bp = bp_overflow; /* Q0 */ diff --git a/lib_enc/FEC_enc_fx.c b/lib_enc/FEC_enc_fx.c index 3be0ff74c399dafafe2093c70288201e6cbd9585..9a1a9949567774ba965f320a149e74bee6e9e54a 100644 --- a/lib_enc/FEC_enc_fx.c +++ b/lib_enc/FEC_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/SNR_calc_fx.c b/lib_enc/SNR_calc_fx.c index 8e6a555d1e0dbfc241bb467b4da639bc8a2b30a6..836c9e40f489214eb2e9ede8bbb7551244ff7a1a 100644 --- a/lib_enc/SNR_calc_fx.c +++ b/lib_enc/SNR_calc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c index 5f38e5bd374a43f5ab6bcb754be4c4bc2ca77128..eae084cdae13043a5571ad97c944f335b6ae2337 100644 --- a/lib_enc/acelp_core_enc_fx.c +++ b/lib_enc/acelp_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -20,12 +23,8 @@ *--------------------------------------------------------------------*/ ivas_error acelp_core_enc_fx( - Encoder_State *st, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 - const Word16 inp[], /* i : input signal of the current frame Q_new-1*/ -#else - const Word16 inp[], /* i : input signal of the current frame Q_new*/ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 inp[], /* i : input signal of the current frame Q_new-1*/ Word16 A[NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes Q12*/ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquant. for subframes Q12*/ const Word32 epsP[M + 1], /* i : LP prediction errors Qx*/ @@ -117,9 +116,7 @@ ivas_error acelp_core_enc_fx( move16(); hLPDmem->q_mem_syn = sub( Q_new, 1 ); move16(); -#ifdef NONBE_FIX_ISSUE_2518 st->mem_deemp_preQ_fx = shl_sat( st->mem_deemp_preQ_fx, sub( Q_new, st->prev_Q_new ) ); -#endif } Scale_sig32( st->Bin_E_old_fx, L_FFT / 2, sub( add( Q_new, Q_SCALE - 2 ), st->q_Bin_E_old ) ); // Q_new + Q_scale - 2 @@ -437,11 +434,7 @@ ivas_error acelp_core_enc_fx( { IF( st->hTdCngEnc != NULL ) { -#ifdef HARMONIZE_2539_cng_energy enr = cng_energy_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ -#else - enr = cng_energy_ivas_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ -#endif /* calculate the energy quantization index */ enr_index = add( enr, 512 /* Q8(2.0) */ ); /* enr + 2.0 */ @@ -673,7 +666,6 @@ ivas_error acelp_core_enc_fx( * Calculation of LP residual (filtering through A[z] filter) *---------------------------------------------------------------*/ -#ifdef FIX_BASOP_2517_CLICK_IN_OMASA_LTV Word16 scf = sub( norm_arr( inp - M, add( st->L_frame, M ) ), 2 ); test(); IF( NE_16( st->element_mode, EVS_MONO ) && GT_16( scf, 0 ) ) @@ -687,9 +679,6 @@ ivas_error acelp_core_enc_fx( { calc_residu_fx( st, inp, res_fx, Aq ); } -#else - calc_residu_fx( st, inp, res_fx, Aq ); -#endif calculate_hangover_attenuation_gain_fx( st, &att_fx, vad_hover_flag ); @@ -976,18 +965,6 @@ ivas_error acelp_core_enc_fx( * Updates *-----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2518 - IF( st->element_mode > EVS_MONO ) - { - if ( st->hBWE_TD != NULL ) - { - st->Q_exc = Q_new; - move16(); - } - hLPDmem->q_lpd_old_exc = Q_new; - move16(); - } -#endif updt_enc_fx( st, old_exc_fx, pitch_buf, Es_pred_fx, Aq, lsf_new_fx, lsp_new, old_bwe_exc_fx ); diff --git a/lib_enc/acelp_core_switch_enc_fx.c b/lib_enc/acelp_core_switch_enc_fx.c index 89df6423ca1339b2071e23e63733b66c2240e24c..f413b7578c6f24ebcbb6dd9989598638125acec2 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -93,30 +96,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 */ @@ -124,7 +103,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 @@ -136,9 +114,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( EQ_16( 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 83c8a8676a0a02fa5dff29db6729eafb54cec59d..f812eb4e17df2473e57690bafddc4d47c27464fb 100644 --- a/lib_enc/acelp_enc_util_fx.c +++ b/lib_enc/acelp_enc_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/amr_wb_enc_fx.c b/lib_enc/amr_wb_enc_fx.c index c3ff039f9dcf7724fa088096a41000ca84ba89d7..e1ec517ab42ddf2a501b23519a3f37eb1aa9c474 100644 --- a/lib_enc/amr_wb_enc_fx.c +++ b/lib_enc/amr_wb_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -11,9 +14,6 @@ #include "prot_fx.h" /* Function prototypes */ #include "basop_util.h" /* Function prototypes */ #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * amr_wb_enc() @@ -579,20 +579,6 @@ void amr_wb_enc_fx( /* update main codec parameters */ updt_enc_common_fx( st, 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 743f95af5da98e1d59ab9b33fc8b66c8209901e2..da029cadac8bb5dc7771e0aac32f3918ff2b190b 100644 --- a/lib_enc/analy_lp_fx.c +++ b/lib_enc/analy_lp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/analy_sp_fx.c b/lib_enc/analy_sp_fx.c index e7d09c786d06b16f010c79b5529d09ca260195f1..41ab14e4c39f9da42b20e3329a9cc77ef2f424dc 100644 --- a/lib_enc/analy_sp_fx.c +++ b/lib_enc/analy_sp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ari_enc_fx.c b/lib_enc/ari_enc_fx.c index 2dfac3de9f7a2a697afbd8045f5796f060ac3bdf..d744cae56061e3dfd4fba672aa04c2586369b9bd 100644 --- a/lib_enc/ari_enc_fx.c +++ b/lib_enc/ari_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -15,7 +18,6 @@ * forward declarations *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC static Word16 ari_encode_14bits_high_low_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -24,7 +26,6 @@ static Word16 ari_encode_14bits_high_low_fx( Word32 high, /* Q0 */ Word32 low /* Q0 */ ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- @@ -36,22 +37,6 @@ static Word16 ari_encode_14bits_high_low_fx( * \return none *-------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_copy_states_fx( - TastatEnc *source, - TastatEnc *dest ) -{ - dest->low = source->low; - move32(); - dest->high = source->high; - move32(); - dest->value = source->value; - move16(); - - return; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - /*--------------------------------------------------------------- * ari_copy_states_ivas_fx() @@ -62,11 +47,7 @@ void ari_copy_states_fx( * \return none *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_copy_states_fx( -#else -void ari_copy_states_ivas_fx( -#endif Tastat *source, Tastat *dest ) { @@ -96,19 +77,6 @@ void ari_copy_states_ivas_fx( * \return none *-------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_start_encoding_14bits_fx( - TastatEnc *s ) -{ - s->low = L_deposit_l( 0 ); - s->high = ari_q4new + 1; - move32(); - s->value = 0; - move16(); - - return; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- * Ari encoder 14 bits routines @@ -146,23 +114,6 @@ Word16 ari_put_bit_plus_follow( * * \return bit consumption * ------------------------------------------------------------ - */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s ) -{ - Word16 bit; - - bit = 0; - move16(); - if ( GE_32( s->low, ari_q1new ) ) - { - bit = s_xor( bit, 1 ); - } - return ari_put_bit_plus_follow( ptr, bp, add( s->value, 1 ), bit ); -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- *ari_encode_14bits_ext_fx() @@ -178,87 +129,8 @@ Word16 ari_done_encoding_14bits_fx( * * \return bit consumption * ------------------------------------------------------------ - */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_ext_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s, - Word32 symbol, /* Q0 */ - UWord16 const *cum_freq /* Q0 */ -) -{ - Word32 low; - Word32 high; - Word32 range; - Word16 bits_to_follow; - Word16 i; - UWord16 temp; - Word32 L_temp1, L_temp2; - high = L_add( s->high, 0 ); - low = L_add( s->low, 0 ); - range = L_sub( high, low ); /* Q0 */ - - L_temp1 = L_shl( range, 15 - stat_bitsnew /*both are constants*/ ); - Mpy_32_16_ss( L_temp1, cum_freq[symbol + 1], &L_temp2, &temp ); - if ( symbol != 0 ) /* when symbol is 0, range remains unchanged */ - { - Mpy_32_16_ss( L_temp1, cum_freq[symbol], &range, &temp ); - } - high = L_add( low, range ); /* Q0 */ - low = L_add( low, L_temp2 ); /* Q0 */ - bits_to_follow = s->value; /* Q0 */ - move16(); - - FOR( i = 0; i < 0x7FFF; i++ ) - { - IF( LE_32( high, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 0 ); /* Q0 */ - bits_to_follow = 0; - move16(); - } - ELSE IF( GE_32( low, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 1 ); /* Q0 */ - bits_to_follow = 0; - move16(); - low = L_sub( low, ari_q2new ); /* Q0 */ - high = L_sub( high, ari_q2new ); /* Subtract offset to top. Q0*/ - } - ELSE - { - test(); - IF( GE_32( low, ari_q1new ) && LE_32( high, ari_q3new ) ) - { - /* Output an opposite bit */ - /* later if in middle half. */ - bits_to_follow = add( bits_to_follow, 1 ); /* Q0 */ - low = L_sub( low, ari_q1new ); /* Subtract offset to middle Q0*/ - high = L_sub( high, ari_q1new ); /* Q0 */ - } - ELSE - { - BREAK; /* Otherwise exit loop. */ - } - } - - low = L_add( low, low ); /* Q0 */ - high = L_add( high, high ); /* Scale up code range. Q0*/ - } - - s->low = low; /* Q0 */ - move32(); - s->high = high; /* Q0 */ - move32(); - s->value = bits_to_follow; /* Q0 */ - move16(); - return bp; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC /*------------------------------------------------------------------------ * Function: ari_encode_overflow_fx() * @@ -266,99 +138,11 @@ Word16 ari_encode_14bits_ext_fx( *-------------------------------------------------------------------------*/ Word16 ari_encode_overflow_fx( - TastatEnc *s ) -{ - return L_sub( L_sub( s->high, 1 ), s->low ) <= 0; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - -/*------------------------------------------------------------------------ - * Function: ari_encode_overflow_fx() - * - * - *-------------------------------------------------------------------------*/ - -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_overflow_fx( -#else -Word16 ari_encode_overflow_ivas_fx( -#endif Tastat *s ) { return L_sub( L_sub( s->high, 0 ), s->low ) <= 0; } -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -/*------------------------------------------------------------------------ - * Function: ari_encode_14bits_high_low() - * - * - *-------------------------------------------------------------------------*/ - -static Word16 ari_encode_14bits_high_low( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word32 high, /* Q0 */ - Word32 low /* Q0 */ -) -{ - Word16 bits_to_follow, tmp; - - bits_to_follow = s->value; - move16(); - - /* while there are more than 16 bits left */ - tmp = sub( 16, bits ); /* Q0 */ - WHILE( add( add( bp, bits_to_follow ), tmp ) < 0 ) - { - IF( LE_32( high, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 0 ); /* Q0 */ - bits_to_follow = 0; - move16(); - } - ELSE IF( GE_32( low, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 1 ); /* Q0 */ - bits_to_follow = 0; - move16(); - low = L_sub( low, ari_q2new ); /* Q0 */ - high = L_sub( high, ari_q2new ); /* Subtract offset to top. Q0*/ - } - ELSE - { - test(); - IF( GE_32( low, ari_q1new ) && LE_32( high, ari_q3new ) ) - { - /* Output an opposite bit */ - /* later if in middle half. */ - bits_to_follow = add( bits_to_follow, 1 ); /* Q0 */ - low = L_sub( low, ari_q1new ); /* Subtract offset to middle Q0*/ - high = L_sub( high, ari_q1new ); /* Q0 */ - } - ELSE - { - BREAK; /* Otherwise exit loop. */ - } - } - - low = L_add( low, low ); /* Q0 */ - high = L_add( high, high ); /* Scale up code range. Q0*/ - } - - s->low = low; /* Q0 */ - move32(); - s->high = high; /* Q0 */ - move32(); - s->value = bits_to_follow; /* Q0 */ - move16(); - - return bp; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - /*------------------------------------------------------------------------ * Function: ari_encode_14bits_range_fx @@ -366,34 +150,7 @@ static Word16 ari_encode_14bits_high_low( * Encode an cumulative frequency interval. *-------------------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_range_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 cum_freq_low, /* Q0 */ - Word16 cum_freq_high /* Q0 */ -) -{ - Word32 low, high, range; - - range = L_sub( s->high, s->low ); /* Q0 */ - - high = L_add( s->low, mul_sbc_14bits( range, cum_freq_high ) ); /* Q0 */ - low = L_add( s->low, mul_sbc_14bits( range, cum_freq_low ) ); /* Q0 */ - - return ari_encode_14bits_high_low( ptr, bp, bits, s, high, low ); -} - -/*------------------------------------------------------------------------ - * Function: ari_encode_14bits_range_ivas_fx - * - * Encode an cumulative frequency interval. - *-------------------------------------------------------------------------*/ -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_range_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -412,7 +169,6 @@ Word16 ari_encode_14bits_range_fx( return ari_encode_14bits_high_low_fx( ptr, bp, bits, s, high, low ); } -#endif /*------------------------------------------------------------------------ * Function: ari_encode_14bits_sign_fx @@ -420,36 +176,6 @@ Word16 ari_encode_14bits_range_fx( * Encode a sign with equal probabilities. *-------------------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_sign_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 sign /* Q0 */ -) -{ - Word32 low, high, range; - Word32 L_tmp; - - high = L_add( s->high, 0 ); - low = L_add( s->low, 0 ); - range = L_sub( high, low ); /* Q0 */ - - L_tmp = L_shr( range, 1 ); - if ( sign != 0 ) - { - high = L_add( low, L_tmp ); /* Q0 */ - } - if ( sign == 0 ) - { - low = L_add( low, L_tmp ); /* Q0 */ - } - - return ari_encode_14bits_high_low( ptr, bp, bits, s, high, low ); -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - /*------------------------------------------------------------------------ * Function: ari_done_cbr_encoding_14bits_fx @@ -457,43 +183,6 @@ Word16 ari_encode_14bits_sign_fx( * Finish up encoding in CBR mode. *-------------------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_cbr_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s ) -{ - Word16 high, tmp, k; - - tmp = sub( bits, 16 ); /* Q0 */ - WHILE( GT_16( sub( tmp, bp ), s->value ) ) - { - bp = ari_encode_14bits_sign_fx( ptr, bp, bits, s, 0 ); /* Q0 */ - } - - high = extract_l( L_sub( s->high, 1 ) ); /* Q0 */ - - bp = ari_put_bit_plus_follow( ptr, bp, s->value, lshr( high, 15 ) ); /* Q0 */ - high = lshl( high, 1 ); - - tmp = s_min( 15, sub( bits, bp ) ); - FOR( k = 0; k < tmp; ++k ) - { - ptr[bp++] = lshr( high, 15 ); /* Q0 */ - move16(); - high = lshl( high, 1 ); - } - - return bp; -} - -/*------------------------------------------------------------------------ - * Function: ari_done_cbr_encoding_14bits_ivas_fx - * - * Finish up encoding in CBR mode. - *-------------------------------------------------------------------------*/ -#else Word16 ari_done_cbr_encoding_14bits_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -522,13 +211,8 @@ Word16 ari_done_cbr_encoding_14bits_fx( return bp; } -#endif -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_start_encoding_14bits_fx( -#else -void ari_start_encoding_14bits_ivas_fx( -#endif Tastat *s ) { /* : addressing is made with walking pointer s */ @@ -549,11 +233,7 @@ void ari_start_encoding_14bits_ivas_fx( * Finish ArCo encoding *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_done_encoding_14bits_fx( -#else -Word16 ari_done_encoding_14bits_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s ) @@ -577,11 +257,7 @@ Word16 ari_done_encoding_14bits_ivas_fx( * *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_ext_fx( -#else -Word16 ari_encode_14bits_ext_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s, @@ -735,11 +411,7 @@ static Word16 ari_encode_14bits_high_low_fx( * Encode a sign with equal probabilities. *-------------------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_sign_fx( -#else -Word16 ari_encode_14bits_sign_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Word32 bits, /* Q0 */ diff --git a/lib_enc/ari_hm_enc_fx.c b/lib_enc/ari_hm_enc_fx.c index 121d4d9c557655f1aa6a7781f5eaa37f6daceddd..70fade26c60d19edd51a2ebca91dad81455ad864 100644 --- a/lib_enc/ari_hm_enc_fx.c +++ b/lib_enc/ari_hm_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/arith_coder_enc_fx.c b/lib_enc/arith_coder_enc_fx.c index 40c0ba7ff318d0fe01c23c8d37e277e020789808..99d2f679c95f3acde6769c874ce7fbde1d5e40b8 100644 --- a/lib_enc/arith_coder_enc_fx.c +++ b/lib_enc/arith_coder_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -529,11 +532,7 @@ static Word16 tcx_arith_encode( Word16 prm[] /* o : bit-stream Q0 */ ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Tastat as, as_lastgood; -#else - TastatEnc as, as_lastgood; -#endif Word16 bp, bp_lastgood; Word16 k; Word16 kEncoded; @@ -650,11 +649,7 @@ static Word16 tcx_arith_encode( IF( EQ_16( kEncoded, sub( L_frame, 1 ) ) ) /* RESQ bits possibly available */ { /* Limit target bits to actually needed bits */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC target_bits = add( add( bp, 16 ), extract_l( as.bits_to_follow ) ); -#else - target_bits = add( add( bp, 16 ), extract_l( as.value ) ); -#endif } return ari_done_cbr_encoding_14bits_fx( prm, bp, target_bits, &as ); diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c index e54dfeda293c25c78b4754231af24600de21acb7..1a6544b66fa93a86b3d264717f9b5472a2063278 100644 --- a/lib_enc/avq_cod_fx.c +++ b/lib_enc/avq_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -5,10 +8,7 @@ #include #include "options.h" /* Compilation switches */ #include "cnst.h" -#include /* Compilation switches */ -#ifdef DEBUGGING -#include -#endif +#include /* Compilation switches */ #include "prot_fx.h" /* Function prototypes */ #include "prot_fx_enc.h" /* Function prototypes */ #include "rom_com.h" /* Static table prototypes */ @@ -549,9 +549,6 @@ void AVQ_encmux_fx( bit_tmp = add( unusedbitsFlag, unused_bits_idx ); /*nq_est = (int16_t)ceil(0.2f * (bits - 5 * (unusedbitsFlag + unused_bits_idx)));*/ nq_est = mult( 6554, sub( bits, add( shl( bit_tmp, 2 ), bit_tmp ) ) ); -#ifdef DEBUGGING - assert( (Word16) ceil( 0.2f * ( bits - 5 * ( unusedbitsFlag + unused_bits_idx ) ) ) == nq_est ); -#endif if ( EQ_16( nq_est, 1 ) ) { diff --git a/lib_enc/bass_psfilter_enc_fx.c b/lib_enc/bass_psfilter_enc_fx.c index 083f8d68ed6a09e1b57cf14253695d9fadd9e301..ac50f3e2a8a3defcde7758c59d8a1a229a89b423 100644 --- a/lib_enc/bass_psfilter_enc_fx.c +++ b/lib_enc/bass_psfilter_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/bw_detect_fx.c b/lib_enc/bw_detect_fx.c index ff60b94d0f10249e90497150a0953e745b6aa3c6..f032ea159dfd15cfeb06d0b019672a8ef88352a2 100644 --- a/lib_enc/bw_detect_fx.c +++ b/lib_enc/bw_detect_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cng_enc_fx.c b/lib_enc/cng_enc_fx.c index c28d008abbd43c157e985030dbc931603e0b0ea5..e8caef2be79a1e1bac0cb9d395d54233e7301874 100644 --- a/lib_enc/cng_enc_fx.c +++ b/lib_enc/cng_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -27,11 +30,7 @@ *---------------------------------------------------------------------*/ static void shb_CNG_encod_fx( Encoder_State *st_fx, const Word16 update_fx ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT static Word16 shb_DTX_fx( Encoder_State *st_fx, const Word16 *shb_speech_fx, const Word16 shb_speech_q, const Word16 *syn_12k8_16k ); -#else -static Word16 shb_DTX_fx( Encoder_State *st_fx, const Word16 *shb_speech_fx, const Word16 *syn_12k8_16k ); -#endif /*---------------------------------------------------------------------* * CNG_enc() @@ -894,11 +893,7 @@ void CNG_enc_fx( L_tmp = L_add_sat( L_tmp, L_tmp ); /* 2*Q_new+1 */ L_tmp = Mult_32_16( L_tmp, 128 ); /* 2*Q_new+1 */ tmp1 = add( add( Q_new, Q_new ), 1 ); -#ifdef NONBE_FIX_ISSUE_2206 env[i] = L_shr_sat( L_tmp, sub( tmp1, 6 ) ); -#else - env[i] = L_shr( L_tmp, sub( tmp1, 6 ) ); -#endif move32(); /* Q6 */ ptR++; ptI--; @@ -1459,13 +1454,9 @@ void calculate_hangover_attenuation_gain_fx( *---------------------------------------------------------------------*/ void swb_CNG_enc_fx( - Encoder_State *st, /* i/o: State structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ - const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz Q0 */ -#else - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif + Encoder_State *st, /* i/o: State structure */ + const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ + const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz Q0 */ const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz Q0 */ ) { @@ -1480,11 +1471,7 @@ void swb_CNG_enc_fx( IF( GE_32( st->input_Fs, L_FRAME32k * FRAMES_PER_SEC ) ) { /* decide if SHB SID encoding or not */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT shb_SID_updt = shb_DTX_fx( st, shb_speech_fx, shb_speech_q, syn_12k8_16k_fx ); -#else - shb_SID_updt = shb_DTX_fx( st, shb_speech_fx, syn_12k8_16k_fx ); -#endif /* SHB CNG encoding */ shb_CNG_encod_fx( st, shb_SID_updt ); @@ -1568,11 +1555,7 @@ static void shb_CNG_encod_fx( Word16 tmp, tmp1, tmp2, scale, exp1, exp2, ener_mid_dec_thr_e; tmp = BASOP_Util_Divide1616_Scale( st->hTdCngEnc->last_idx_ener, 22938, &scale ); // 0.7 in Q15 ->exp 0 scale = add( scale, ( 15 - 0 ) ); -#ifdef NONBE_FIX_ISSUE_2206 tmp = sub( tmp, shl_sat( 6, sub( Q15, scale ) ) ); /* Saturate, because the computation goes into a threshold decision. */ -#else - tmp = sub( tmp, shl( 6, sub( Q15, scale ) ) ); -#endif tmp1 = BASOP_Util_Divide1616_Scale( tmp, 3277, &exp1 ); exp1 = add( exp1, ( scale - 0 ) ); @@ -1580,11 +1563,7 @@ static void shb_CNG_encod_fx( tmp = BASOP_Util_Divide1616_Scale( idx_ener, 22938, &scale ); // 0.7 in Q15 ->exp 0 scale = add( scale, ( 15 - 0 ) ); -#ifdef NONBE_FIX_ISSUE_2206 tmp = sub( tmp, shl_sat( 6, sub( Q15, scale ) ) ); /* Saturate, because the computation goes into a threshold decision. */ -#else - tmp = sub( tmp, shl( 6, sub( Q15, scale ) ) ); -#endif tmp1 = BASOP_Util_Divide1616_Scale( tmp, 3277, &exp2 ); exp2 = add( exp2, ( scale - 0 ) ); @@ -1643,13 +1622,9 @@ static void shb_CNG_encod_fx( *---------------------------------------------------------------------*/ static Word16 shb_DTX_fx( - Encoder_State *st, /* i/o: State structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ - const Word16 shb_speech_q, /* i : SHB target signal (6-14kHz) at 16kHz Q Q0 */ -#else - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif + Encoder_State *st, /* i/o: State structure */ + const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ + const Word16 shb_speech_q, /* i : SHB target signal (6-14kHz) at 16kHz Q Q0 */ const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz Q0 */ ) { @@ -1661,9 +1636,7 @@ static Word16 shb_DTX_fx( Word16 *shb_new_speech_fx; Word32 wb_ener_fx; Word32 shb_ener_fx; -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 shb_ener_q; -#endif Word16 log_wb_ener_fx; Word16 log_shb_ener_fx; Word16 tmp; @@ -1675,20 +1648,13 @@ static Word16 shb_DTX_fx( TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; shb_new_speech_fx = shb_old_speech_fx + ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4; -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy_Scale_sig_nosat( hBWE_TD->old_speech_shb_fx, shb_old_speech_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4, sub( shb_speech_q, hBWE_TD->old_speech_shb_q ) ); Copy( shb_speech_fx, shb_new_speech_fx, L_FRAME16k ); Copy( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4 ); hBWE_TD->old_speech_shb_q = shb_speech_q; move16(); -#else - Copy( hBWE_TD->old_speech_shb_fx, shb_old_speech_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4 ); // old_speech_shb_fx -> Q0 - Copy( shb_speech_fx, shb_new_speech_fx, L_FRAME16k ); // Q0 - Copy( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4 ); // Q0 -#endif shb_ener_fx = L_deposit_l( 0 ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT FOR( i = 0; i < L_FRAME16k; i++ ) { shb_ener_fx = L_mac_sat( shb_ener_fx, shb_old_speech_fx[i], shb_old_speech_fx[i] ); // ( 2 * hBWE_TD->old_speech_shb_q + Q1 ) --> Q1 due to left shift in L_mac @@ -1696,14 +1662,6 @@ static Word16 shb_DTX_fx( shb_ener_q = add( shl( hBWE_TD->old_speech_shb_q, 1 ), 1 ); shb_ener_fx = L_add( Mpy_32_16_1( shb_ener_fx, 102 ), 1 ); /* ( 1 / L_FRAME16K ) -> 102 in Q15, shb_ener_fx in shb_ener_q */ -#else - FOR( i = 0; i < L_FRAME16k; i++ ) - { - shb_ener_fx = L_mac_sat( shb_ener_fx, shb_old_speech_fx[i], shb_old_speech_fx[i] ); // ( Q0 + Q0 + Q1 ) --> Q1 due to left shift in L_mac - } - - shb_ener_fx = L_add( Mpy_32_16_1( shb_ener_fx, 102 ), 1 ); /* ( 1 / L_FRAME16K ) -> 102 in Q15, shb_ener_fx in Q1 */ -#endif wb_ener_fx = L_deposit_l( 0 ); FOR( i = 0; i < st->L_frame; i++ ) @@ -1721,11 +1679,7 @@ static Word16 shb_DTX_fx( log_wb_ener_fx = round_fx_sat( L_shl_sat( wb_ener_fx, 10 ) ); /* log_wb_ener_fx in Q8 */ exp = norm_l( shb_ener_fx ); fra = Log2_norm_lc( L_shl( shb_ener_fx, exp ) ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT exp = sub( sub( 30, shb_ener_q ), exp ); -#else - exp = sub( 30 - 1, exp ); -#endif shb_ener_fx = Mpy_32_16( exp, fra, LG10 ); test(); diff --git a/lib_enc/cod2t32_fx.c b/lib_enc/cod2t32_fx.c index fa66223cb9679fc3425e43f0b5e4e0f44ed510ee..e41c12d03cc3b891746db260cd7c042096325509 100644 --- a/lib_enc/cod2t32_fx.c +++ b/lib_enc/cod2t32_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cod4t64_fast_fx.c b/lib_enc/cod4t64_fast_fx.c index c6a2811e0675130380e40cbc121cb0d4b1b4c48d..85bd8fcc0ab717e77db729427b7920a066210c39 100644 --- a/lib_enc/cod4t64_fast_fx.c +++ b/lib_enc/cod4t64_fast_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/cod4t64_fx.c b/lib_enc/cod4t64_fx.c index f485463a4f65e6658e4f5601d2a04e3d1a7a2339..6dd55eda51a922b3e9f102757b4630b3aad54d04 100644 --- a/lib_enc/cod4t64_fx.c +++ b/lib_enc/cod4t64_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cod_ace_fx.c b/lib_enc/cod_ace_fx.c index f066d1c55c04c032f910b309787322913f85c0db..e2b6e92a626438715d0f548342bc98f45d347450 100644 --- a/lib_enc/cod_ace_fx.c +++ b/lib_enc/cod_ace_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index d043aeb49f9d591884640fd69273a452e7aad7d5..94c6ac9011f78dade97687887c3e0a128ffd3126 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -14,9 +17,6 @@ #include "prot_fx_enc.h" #include "ivas_prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define SIMILAR_TNS_THRESHOLD_FX_IN_Q15 ( 1311 ) @@ -1438,15 +1438,6 @@ void QuantizeSpectrum_fx( &sqGain_e, EVS_MONO ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_fx( OriginalSpectrum, OriginalSpectrum_e, - sqQ, - L_spec, - sqGain, sqGain_e, - hTcxCfg->sq_rounding, - hTcxEnc->memQuantZeros, - tcxonly ); -#else tcx_scalar_quantization_fx( OriginalSpectrum, OriginalSpectrum_e, sqQ, L_spec, @@ -1455,7 +1446,6 @@ void QuantizeSpectrum_fx( hTcxEnc->memQuantZeros, tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate original bitrate */ @@ -1544,15 +1534,6 @@ void QuantizeSpectrum_fx( EVS_MONO ); /* Quantize spectrum */ -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_fx( spectrum, *spectrum_e, - sqQ, - L_spec, - sqGain, sqGain_e, - hTcxCfg->sq_rounding, - hTcxEnc->memQuantZeros, - tcxonly ); -#else tcx_scalar_quantization_fx( spectrum, *spectrum_e, sqQ, L_spec, @@ -1561,7 +1542,6 @@ void QuantizeSpectrum_fx( hTcxEnc->memQuantZeros, tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate bitrate */ stop = 0; @@ -1752,15 +1732,6 @@ void QuantizeSpectrum_fx( { sqGain = tmp1; sqGain_e = s; -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_fx( spectrum, *spectrum_e, - sqQ, - L_spec, - sqGain, sqGain_e, - hTcxCfg->sq_rounding, - hTcxEnc->memQuantZeros, - tcxonly ); -#else tcx_scalar_quantization_fx( spectrum, *spectrum_e, sqQ, L_spec, @@ -1770,8 +1741,6 @@ void QuantizeSpectrum_fx( tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN - move16(); stop = 1; @@ -3076,11 +3045,7 @@ void QuantizeTCXSpectrum_fx( /* Quantize original spectrum */ sqGain_fx = SQ_gain_fx( spectrum_fx, *spectrum_e, ( mult( hTcxEnc->tcx_target_bits_fac, shl( sqTargetBits, 1 ) ) ), L_spec, &sqGain_e, 1 /*signal non-EVS*/ ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly ); -#else tcx_scalar_quantization_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate original bitrate */ stop = 0; move16(); @@ -3171,11 +3136,7 @@ void QuantizeTCXSpectrum_fx( sqGain_fx = SQ_gain_fx( spectrum_fx, *spectrum_e, shl( mult( hTcxEnc->tcx_target_bits_fac, sqTargetBits ), 1 ), L_spec, &sqGain_e, 1 /*signal non-EVS*/ ); } /* Quantize spectrum */ -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly ); -#else tcx_scalar_quantization_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly, st->element_mode ); -#endif /* Estimate bitrate */ stop = 0; move16(); @@ -3440,11 +3401,7 @@ void QuantizeTCXSpectrum_fx( move16(); sqGain_e = 1; move16(); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly ); -#else tcx_scalar_quantization_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN stop = 1; IF( st->element_mode > EVS_MONO ) @@ -3914,27 +3871,12 @@ void coder_tcx_post_ivas_fx( Word16 *wsig, Word16 Q_new ) { -#ifdef NONBE_FIX_ISSUE_2206 /*-----------------------------------------------------------* * Memory update * *-----------------------------------------------------------*/ /* Update LPDmem (Txnq,syn,syn_pe,old_exc,wsyn,Ai,Aq) */ tcx_encoder_memory_update_ivas_fx( wsig, synth, st->L_frame, Ai, A, hTcxCfg->preemph_fac, LPDmem, st, Q_new ); -#else - Word16 xn_buf[L_FRAME_MAX]; - - /* TCX output */ - Copy( synth, xn_buf, st->L_frame ); - - - /*-----------------------------------------------------------* - * Memory update * - *-----------------------------------------------------------*/ - - /* Update LPDmem (Txnq,syn,syn_pe,old_exc,wsyn,Ai,Aq) */ - tcx_encoder_memory_update_ivas_fx( wsig, xn_buf, st->L_frame, Ai, A, hTcxCfg->preemph_fac, LPDmem, st, synth, Q_new ); -#endif return; } diff --git a/lib_enc/cod_uv_fx.c b/lib_enc/cod_uv_fx.c index bdf5ae1c2cc2ab5bf86075d2cee712844977d77c..823ca4e428170d46c594ef5385d13f9276b9def8 100644 --- a/lib_enc/cod_uv_fx.c +++ b/lib_enc/cod_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/comvad_decision_fx.c b/lib_enc/comvad_decision_fx.c index dafa4561cc7f403b224723e4bbfaca16e42d21f1..ddb9bc5c1e23bdb627fc37eb0e3ead140656e29c 100644 --- a/lib_enc/comvad_decision_fx.c +++ b/lib_enc/comvad_decision_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cor_shif_fx.c b/lib_enc/cor_shif_fx.c index c98afa1ee0781b5a73a43cf362a980152864282d..ff8534a1dcbb844aa25207035393daf51e2bbb25 100644 --- a/lib_enc/cor_shif_fx.c +++ b/lib_enc/cor_shif_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c index 3012bb094cfe97ad8d2084676ae69eac221d4f52..29c22b742d9847a00323076040527538804815b1 100644 --- a/lib_enc/core_enc_2div_fx.c +++ b/lib_enc/core_enc_2div_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 7efe8a9ff28578122718235c8d76ca5239c7f991..f8cda6d86c7832942b43930fce27454e556c38e0 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -28,11 +31,7 @@ static void init_tcx_ivas_fx( Encoder_State *st, const Word16 L_frame_old, const static void init_core_sig_ana_ivas_fx( Encoder_State *st ); static void init_modes_ivas_fx( Encoder_State *st, const Word32 last_total_brate ); static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_old, const Word16 L_subfr, const Word32 last_total_brate ); -#ifdef NONBE_FIX_ISSUE_2518 static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, const Word32 last_total_brate ); -#else -static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 shift, const Word32 last_total_brate ); -#endif /*-----------------------------------------------------------------------* * init_coder_ace_plus_fx() @@ -1089,11 +1088,7 @@ void init_coder_ace_plus_ivas_fx( /* Initialize ACELP */ -#ifdef NONBE_FIX_ISSUE_2518 init_acelp_ivas_fx( st, L_frame_old, last_total_brate ); -#else - init_acelp_ivas_fx( st, L_frame_old, 0, last_total_brate ); -#endif if ( st->ini_frame == 0 ) { @@ -1404,18 +1399,12 @@ static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_ol move16(); st->exp_mem_preemph_enc = st->exp_buf_speech_enc; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_wsp_enc = st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1]; move16(); -#else - st->mem_wsp_enc = shr( st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1], sub( Q16, st->exp_buf_wspeech_enc ) ); // Q-1 - move16(); -#endif } /*coming from TCXonly modes*/ ELSE IF( !st->tcxonly && GE_32( last_total_brate, ACELP_32k ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 exp_buf_wspeech_enc; exp_buf_wspeech_enc = s_max( st->exp_old_wsp, st->exp_buf_wspeech_enc ); @@ -1423,27 +1412,14 @@ static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_ol Copy_Scale_sig_nosat( st->old_wsp_fx, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, L_WSP_MEM, sub( st->exp_old_wsp, exp_buf_wspeech_enc ) ); st->exp_buf_wspeech_enc = exp_buf_wspeech_enc; move16(); /*Resamp buffers needed only for ACELP*/ -#else - - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( 0, sub( st->exp_old_wsp, st->exp_buf_wspeech_enc ) ) ); - Copy( st->old_wsp_fx, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, L_WSP_MEM ); - // Copy_Scale_sig( st->old_wsp_fx, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, L_WSP_MEM, sub( st->prev_Q_new, st->prev_Q_old ) ); - st->exp_buf_wspeech_enc = st->exp_old_wsp; - move16(); /*Resamp buffers needed only for ACELP*/ -#endif IF( EQ_16( st->L_frame, L_FRAME16k ) ) { lerp( st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, st->buf_wspeech_enc + st->L_frame + L_SUBFR - 310, 310, L_WSP_MEM ); } hLPDmem->mem_w0 = 0; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_wsp_enc = st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1]; move16(); -#else - st->mem_wsp_enc = shr( st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1], sub( Q16, st->exp_buf_wspeech_enc ) ); // Q-1 - move16(); -#endif } } @@ -1546,11 +1522,7 @@ static void init_core_sig_ana_ivas_fx( Encoder_State *st ) * * *-----------------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2518 static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, const Word32 last_total_brate ) -#else -static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 shift, const Word32 last_total_brate ) -#endif { Word16 mem_syn_r_size_old; Word16 mem_syn_r_size_new; @@ -1733,13 +1705,8 @@ static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 sh move16(); Copy( hLPDmem->mem_syn2, tmp_buf + 1, M ); deemph_fx( tmp_buf + 1, st->preemph_fac, M, &tmp ); -#ifdef NONBE_FIX_ISSUE_2518 Residu3_fx( Ap, tmp_buf + M, &tmp, 1, 0 ); hLPDmem->mem_w0 = sub_sat( shl_sat( st->wspeech_enc[-1], sub( hLPDmem->q_mem_syn, sub( Q15, st->exp_buf_wspeech_enc ) ) ), tmp ); -#else - Residu3_fx( Ap, tmp_buf + M, &tmp, 1, 1 ); - hLPDmem->mem_w0 = sub_sat( shr_sat( st->wspeech_enc[-1], shift ), tmp ); -#endif move16(); } } diff --git a/lib_enc/core_enc_ol_fx.c b/lib_enc/core_enc_ol_fx.c index 94a306091a3df4c17b49c0dbb6dae776a32d777d..67776295c9516cf544cfbf4507a1d0d8f220d42a 100644 --- a/lib_enc/core_enc_ol_fx.c +++ b/lib_enc/core_enc_ol_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1278,19 +1281,6 @@ void core_acelp_tcx20_switching_fx( st->acelpFramesCount = 0; move16(); } -#ifdef DEBUGGING - if ( st->force != -1 ) - { - if ( st->force == FORCE_SPEECH ) - { - st->core = ACELP_CORE; - } - else - { - st->core = TCX_20_CORE; - } - } -#endif } /* Fixed Decision (using -C) */ diff --git a/lib_enc/core_enc_reconf_fx.c b/lib_enc/core_enc_reconf_fx.c index 9f21792e353c441ee0ac0802ccf948cc48756b8a..f200fea816a51a27a1163521d47cfbd6a7b0f551 100644 --- a/lib_enc/core_enc_reconf_fx.c +++ b/lib_enc/core_enc_reconf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c index 3bea33c1228bb5293ae6bd52acca6f1f7c148435..a927d0adb207240a0e04c141292dc82fe01bd79c 100644 --- a/lib_enc/core_enc_switch_fx.c +++ b/lib_enc/core_enc_switch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -386,24 +389,7 @@ void core_coder_mode_switch_ivas_fx( move32(); st->currEnergyHF_e_fx = 0; move16(); -#ifndef NONBE_FIX_ISSUE_2518 - Word16 shift = getScaleFactor16( st->old_inp_16k_fx, L_INP_MEM ); - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, shift ); - st->exp_old_inp_16k = sub( st->exp_old_inp_16k, shift ); - move16(); - shift = getScaleFactor16( st->old_inp_12k8_fx, L_INP_MEM ); - Scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); - st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift ); - move16(); -#endif init_coder_ace_plus_ivas_fx( st, last_total_brate, st->total_brate, MCT_flag ); -#ifndef NONBE_FIX_ISSUE_2518 - if ( st->hLPDmem != NULL ) - { - st->hLPDmem->q_lpd_old_exc = st->prev_Q_new; - move16(); - } -#endif } test(); diff --git a/lib_enc/core_enc_updt_fx.c b/lib_enc/core_enc_updt_fx.c index 3272830e8166679fe0ed2934210addacc4c01edc..4be0ffd2a0e1ea4ccfcd00e8fe0529f71e38a55b 100644 --- a/lib_enc/core_enc_updt_fx.c +++ b/lib_enc/core_enc_updt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_switching_enc_fx.c b/lib_enc/core_switching_enc_fx.c index 2ba41243a28a055fddae02c24eddb3e008c2e696..2272e42896e850b787280f7a6a706e3d893b5634 100644 --- a/lib_enc/core_switching_enc_fx.c +++ b/lib_enc/core_switching_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -411,13 +414,8 @@ void core_switching_pre_enc_fx( } tmp = sub( L_LOOK_16k + L_SUBFR16k, Sample_Delay_HP ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy( &hBWE_TD->old_speech_shb_fx[tmp], hBWE_FD->new_input_hp_fx, Sample_Delay_HP ); /*Q(hBWE_TD->old_speech_shb_q)*/ hBWE_FD->Q_new_input_hp = hBWE_TD->old_speech_shb_q; -#else - Copy( &hBWE_TD->old_speech_shb_fx[tmp], hBWE_FD->new_input_hp_fx, Sample_Delay_HP ); /*Q(Q_shb_spch)*/ - hBWE_FD->Q_new_input_hp = 0; -#endif move16(); IF( NE_16( st_fx->last_extl, WB_BWE ) ) @@ -567,10 +565,8 @@ void core_switching_post_enc_fx( ELSE { set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif } swb_tbe_reset_fx( hBWE_TD->mem_csfilt_fx, hBWE_TD->mem_genSHBexc_filt_down_shb_fx, hBWE_TD->state_lpc_syn_fx, @@ -578,10 +574,8 @@ void core_switching_post_enc_fx( hBWE_TD->mem_stp_swb_fx, &( hBWE_TD->gain_prec_swb_fx ) ); set16_fx( hBWE_TD->dec_2_over_3_mem_fx, 0, L_FILT_2OVER3 ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->dec_2_over_3_mem_q = Q15; move16(); -#endif IF( NE_16( st_fx->element_mode, EVS_MONO ) ) { set16_fx( st_fx->hBWE_TD->dec_2_over_3_mem_lp_fx, 0, L_FILT_2OVER3_LP ); diff --git a/lib_enc/corr_xh_fx.c b/lib_enc/corr_xh_fx.c index 14bd84b79506c56b9d297eca6c52dafa16c3f62a..b69f3b5f6b95d3b3dec1851716b9e29a45727204 100644 --- a/lib_enc/corr_xh_fx.c +++ b/lib_enc/corr_xh_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/decision_matrix_enc_fx.c b/lib_enc/decision_matrix_enc_fx.c index 0bf5c8dfa4f56da5c6c13b7d1d4a31210279d221..4666215189dc3e6fe7daa11314aa7f3ad216f72d 100644 --- a/lib_enc/decision_matrix_enc_fx.c +++ b/lib_enc/decision_matrix_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -189,19 +192,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 } /*---------------------------------------------------------------------* @@ -213,14 +209,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(); @@ -266,14 +258,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 173092cdf8562ab854f5c880534346183d0c701f..f6720faa26d0ec943f33164ea897aadb030ab6fc 100644 --- a/lib_enc/detect_transient_fx.c +++ b/lib_enc/detect_transient_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/diffcod_fx.c b/lib_enc/diffcod_fx.c index 871fd422fef42d0e3e513f23e2c9dfd0a0f90fe4..43ff40948c48a63caf602b1064a6fb7ac4bdfef5 100644 --- a/lib_enc/diffcod_fx.c +++ b/lib_enc/diffcod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/dtx_fx.c b/lib_enc/dtx_fx.c index b6b4e5a3414aca3d9d28c4a8bb1c4edd63c9f3f7..bcf401dcb91794f09a462db0e71f8f7fa942ac3a 100644 --- a/lib_enc/dtx_fx.c +++ b/lib_enc/dtx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelp_fx.c b/lib_enc/enc_acelp_fx.c index 52e42582c3ce33e25db2f2105b03646f7eb01624..3801228a6d7a989e27471e09c87caa48dce682bd 100644 --- a/lib_enc/enc_acelp_fx.c +++ b/lib_enc/enc_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelp_tcx_main_fx.c b/lib_enc/enc_acelp_tcx_main_fx.c index 34f333ae98928bcf7c50fe54d4434a7d2ce431d0..66056134d6733566cf70edfe96a9cb3f5b623762 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelpx_fx.c b/lib_enc/enc_acelpx_fx.c index a5b11f3b06ca27d9da208a793c7c7d8a54d0d14c..4d9b3aff9bc1e7880f2eded65f5f75e78bd80cc6 100644 --- a/lib_enc/enc_acelpx_fx.c +++ b/lib_enc/enc_acelpx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_amr_wb_fx.c b/lib_enc/enc_amr_wb_fx.c index e31578c7a3993e639d5bbcce12002687d1f863d4..feb43d142129dde2bc108408c063769d2539b9db 100644 --- a/lib_enc/enc_amr_wb_fx.c +++ b/lib_enc/enc_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_gain_fx.c b/lib_enc/enc_gain_fx.c index 2e1a5019b0358a1056cd07e600984cb0596e86a2..16444bc69fd7cd5280027e80b84f2eb7658fc4fa 100644 --- a/lib_enc/enc_gain_fx.c +++ b/lib_enc/enc_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_gen_voic_fx.c b/lib_enc/enc_gen_voic_fx.c index 1ca20c9a6bec082cb7157dd4551994bd49fab953..c2c3cf3d968ac5844310e7b83b4c4afcc716d0e5 100644 --- a/lib_enc/enc_gen_voic_fx.c +++ b/lib_enc/enc_gen_voic_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -34,12 +37,8 @@ static void rem_offset( tmp = round_fx_sat( loffset ); FOR( i = 0; i < l_subfr; i++ ) { -#ifdef NONBE_FIX_ISSUE_2206 /* The need of sub_sat() here should be revisited. */ out[i] = sub_sat( in[i], tmp ); -#else - out[i] = sub( in[i], tmp ); -#endif move16(); } diff --git a/lib_enc/enc_gen_voic_rf_fx.c b/lib_enc/enc_gen_voic_rf_fx.c index cf4b3825999b595f31aa53689685102ef88fbae2..39495b568c7589edc405b40ec92a82d4031b31a9 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c index 9d74cedc9a0239c1a1ca624a140f485df08b483e..d582b5a34ff00d307a918f681dc68c1b5b7a206b 100644 --- a/lib_enc/enc_higher_acelp_fx.c +++ b/lib_enc/enc_higher_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -301,7 +304,6 @@ void transf_cdbk_enc_fx( * DCT transform *--------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Word16 q_x_tran; IF( EQ_16( st_fx->element_mode, EVS_MONO ) ) { @@ -314,13 +316,6 @@ void transf_cdbk_enc_fx( q_x_tran = s_min( Q_AVQ_OUT_DEC, norm_arr( x_norm, Nsv * WIDTH_BAND ) ); Copy_Scale_sig_nosat( x_norm, x_tran, Nsv * WIDTH_BAND, q_x_tran ); } -#else - FOR( i = 0; i < Nsv * WIDTH_BAND; i++ ) - { - x_tran[i] = shl_sat( x_norm[i], Q_AVQ_OUT_DEC ); - move16(); - } -#endif test(); test(); @@ -336,13 +331,8 @@ void transf_cdbk_enc_fx( edct2_fx( L_SUBFR, 1, x_tran, out32, &Qdct, ip_edct2_64, w_edct2_64_fx ); /*qdct = sub(Q_AVQ_OUT_DEC,qdct+Q_AVQ_OUT_DEC);*/ Qdct = negate( Qdct ); -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Copy_Scale_sig_32_16( out32, code_preQ, L_SUBFR, Qdct ); /* Output in q_x_tran */ /*qdct = q_x_tran;*/ -#else - Copy_Scale_sig_32_16( out32, code_preQ, L_SUBFR, Qdct ); /* Output in Q_AVQ_OUT_DEC */ - /*qdct = Q_AVQ_OUT_DEC;*/ -#endif } /*--------------------------------------------------------------* @@ -368,27 +358,18 @@ void transf_cdbk_enc_fx( test(); IF( GT_16( st_fx->element_mode, EVS_MONO ) && NE_16( st_fx->coder_type, INACTIVE ) && GE_32( st_fx->core_brate, MIN_BRATE_AVQ_EXC ) && LE_32( st_fx->core_brate, MAX_BRATE_AVQ_EXC_TD ) && !harm_flag_acelp && code_preQ[0] != 0 ) { -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), sub( Q_AVQ_OUT_DEC + 4, q_x_tran ) ) ) ) -#else - IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), 4 ) ) ) -#endif { st_fx->mem_preemp_preQ_fx = shr( st_fx->mem_preemp_preQ_fx, 4 ); move16(); } -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX ELSE IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), sub( Q_AVQ_OUT_DEC + 3, q_x_tran ) ) ) ) -#else - ELSE IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), 3 ) ) ) -#endif { st_fx->mem_preemp_preQ_fx = shr( st_fx->mem_preemp_preQ_fx, 3 ); move16(); } } -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX st_fx->last_code_preq = shl_sat( code_preQ[L_SUBFR - 1], sub( 1, q_x_tran ) ); // Q0 ? Q1 move16(); @@ -397,12 +378,6 @@ void transf_cdbk_enc_fx( preemph_fx( code_preQ, FAC_PRE_AVQ_FX, L_SUBFR, &( st_fx->mem_preemp_preQ_fx ) ); st_fx->mem_preemp_preQ_fx = shl_sat( st_fx->mem_preemp_preQ_fx, sub( Q_AVQ_OUT_DEC, q_x_tran ) ); move16(); -#else - st_fx->last_code_preq = shr( code_preQ[L_SUBFR - 1], 9 ); // Q0 - move16(); - - preemph_fx( code_preQ, FAC_PRE_AVQ_FX, L_SUBFR, &( st_fx->mem_preemp_preQ_fx ) ); -#endif /*--------------------------------------------------------------* * For inactive segments @@ -415,36 +390,22 @@ void transf_cdbk_enc_fx( IF( EQ_16( st_fx->coder_type, INACTIVE ) ) { /*ftemp = fcode_preQ[0] *fh1[L_SUBFR-1];*/ -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Ltmp = L_mult( code_preQ[0], h1[L_SUBFR - 1] ); /*1+14+shift + q_x_tran */ -#else - Ltmp = L_mult( code_preQ[0], h1[L_SUBFR - 1] ); /*1+14+shift + Q_AVQ_OUT */ -#endif FOR( i = 1; i < L_SUBFR; i++ ) { /*ftemp += fcode_preQ[i] * fh1[L_SUBFR-1-i];*/ Ltmp = L_mac( Ltmp, code_preQ[i], h1[L_SUBFR - 1 - i] ); } /*fxn[L_SUBFR-1] -= *fgain_preQ * ftemp;*/ -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Ltmp = L_shr( Mult_32_16( Ltmp, *gain_preQ ), sub( add( q_x_tran, 2 ), Q_new ) ); /* (2 + 1 + 14 +shift+Q_AVQ_OUT)-(Q_AVQ_OUT+2-Q_new) = 15 + Q_new + shift */ -#else - Ltmp = L_shr( Mult_32_16( Ltmp, *gain_preQ ), sub( add( Q_AVQ_OUT_DEC, 2 ), Q_new ) ); /* (2 + 1 + 14 +shift+Q_AVQ_OUT)-(Q_AVQ_OUT+2-Q_new) = 15 + Q_new + shift */ -#endif - xn[L_SUBFR - 1] = round_fx( L_sub( L_mult( xn[L_SUBFR - 1], 32767 ), Ltmp ) ); /* -> Q_new + shift -1 */ + xn[L_SUBFR - 1] = round_fx( L_sub( L_mult( xn[L_SUBFR - 1], 32767 ), Ltmp ) ); /* -> Q_new + shift -1 */ } ELSE { conv_fx( code_preQ, h1, x_tran, L_SUBFR ); -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX updt_tar_HR_fx( cn, cn, code_preQ, *gain_preQ, sub( Q_new, add( -15 + 2, q_x_tran ) ), L_SUBFR ); updt_tar_HR_fx( xn, xn, x_tran, *gain_preQ, sub( Q_new, add( -15 + 2, q_x_tran ) ), L_SUBFR ); -#else - updt_tar_HR_fx( cn, cn, code_preQ, *gain_preQ, sub( Q_new, add( -15 + 2, Q_AVQ_OUT_DEC ) ), L_SUBFR ); - - updt_tar_HR_fx( xn, xn, x_tran, *gain_preQ, sub( Q_new, add( -15 + 2, Q_AVQ_OUT_DEC ) ), L_SUBFR ); -#endif *gain_pit = corr_xy1_fx( xn, y1, g_corr, L_SUBFR, 0, &Overflow ); /* Q14 */ move16(); /* clip gain if necessary to avoid problems at decoder */ diff --git a/lib_enc/enc_nelp_fx.c b/lib_enc/enc_nelp_fx.c index 7eaccfceab0254d815aaf85bf77de987d7577b46..761fa606e8d1d5edfa2f4123867a527a7793ec61 100644 --- a/lib_enc/enc_nelp_fx.c +++ b/lib_enc/enc_nelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_pit_exc_fx.c b/lib_enc/enc_pit_exc_fx.c index f93919b502d49b49f46ede1ff43e4ca18fd14676..eb6958fa00fd987f948bbba7698c959f5b509b0d 100644 --- a/lib_enc/enc_pit_exc_fx.c +++ b/lib_enc/enc_pit_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_ppp_fx.c b/lib_enc/enc_ppp_fx.c index 5f097660449be0efb6aa925ba1995735af12dbf4..8b48312a8c7a4e47e2f03b5e3f542e919e4d9698 100644 --- a/lib_enc/enc_ppp_fx.c +++ b/lib_enc/enc_ppp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_prm_fx.c b/lib_enc/enc_prm_fx.c index 4db8f2f2c488e03c1b1844406f6d949ab348ecba..c812b31cd0e10f1fc194de8eadd73d4c4705e269 100644 --- a/lib_enc/enc_prm_fx.c +++ b/lib_enc/enc_prm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_tran_fx.c b/lib_enc/enc_tran_fx.c index 10e458fb5710a073f8c2f61cbd3b433e3e228791..375d31c9dbbc7dd2dd730d79a8dacea34ed79456 100644 --- a/lib_enc/enc_tran_fx.c +++ b/lib_enc/enc_tran_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_uv_fx.c b/lib_enc/enc_uv_fx.c index c09de6c3f11ab0efe2dc398a10f37ce623aad7aa..10ff3af0dbd1ab9d95825bd3653662db4f7f9dd2 100644 --- a/lib_enc/enc_uv_fx.c +++ b/lib_enc/enc_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -190,9 +193,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 ); diff --git a/lib_enc/energy_fx.c b/lib_enc/energy_fx.c index 6a0be10a75cead7d3db3cd18e87b212bd75b64cb..9c5acbc8b8a7d90dba426bd3b8188296515785ff 100644 --- a/lib_enc/energy_fx.c +++ b/lib_enc/energy_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/eval_pit_contr_fx.c b/lib_enc/eval_pit_contr_fx.c index b9c56e401cf126f9496ff5c219dc6da4409fb48d..a85238505d658389964d00dcf9e37b5c3ffaf46a 100644 --- a/lib_enc/eval_pit_contr_fx.c +++ b/lib_enc/eval_pit_contr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c index c946be0d99a6f9cdf296b182d904a2a8e8d3c48c..63b3efc3257e5f9369c17c5c81346aebaa9f40ac 100644 --- a/lib_enc/evs_enc_fx.c +++ b/lib_enc/evs_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -10,9 +13,6 @@ #include "rom_com.h" /* Common constants */ #include "basop_util.h" /* Function prototypes */ #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * Local function prototypes @@ -72,9 +72,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; TD_CNG_ENC_HANDLE hTdCngEnc = st->hTdCngEnc; @@ -89,7 +87,6 @@ ivas_error evs_enc_fx( Q_shb_spch = 0; move16(); /* to avoid compiler warnings */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = 0; move16(); st->hBWE_FD->Q_new_input_hp = 0; @@ -98,7 +95,6 @@ ivas_error evs_enc_fx( move16(); st->hBWE_FD->old_input_q = 0; move16(); -#endif /*------------------------------------------------------------------* * Initializiation @@ -181,13 +177,8 @@ ivas_error evs_enc_fx( * Pre-processing *---------------------------------------------------------------------*/ -#ifdef FIX_I4_OL_PITCH - pre_proc_fx( 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, &cldfbScale, hLPDmem->old_exc, &hq_core_type, &Q_new, &shift, Q_r ); -#else pre_proc_fx( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, pitch_orig, A, Aw, 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 IF( EQ_16( st->mdct_sw, MODE2 ) ) { @@ -290,12 +281,10 @@ ivas_error evs_enc_fx( *---------------------------------------------------------------------*/ 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 */ { @@ -319,9 +308,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 @@ -426,26 +413,16 @@ ivas_error evs_enc_fx( IF( GE_32( st->input_Fs, 16000 ) && ( LT_16( st->bwidth, SWB ) ) ) { /* Common pre-processing for WB TBE and WB BWE */ -#ifdef NONBE_FIX_ISSUE_2206 wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech, -Q1 ); -#else - wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech ); -#endif } -#ifdef NONBE_FIX_ISSUE_2206 st->q_inp = -Q1; /* meaning Q0 */ move16(); -#endif IF( EQ_16( st->extl, WB_TBE ) ) { /* WB TBE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_tbe_enc_fx( st, hb_speech, -Q1, bwe_exc_extended, Q_new, voice_factors, pitch_buf ); -#else - wb_tbe_enc_fx( st, hb_speech, bwe_exc_extended, Q_new, voice_factors, pitch_buf ); -#endif IF( EQ_16( st->codec_mode, MODE2 ) ) { tbe_write_bitstream_fx( st ); @@ -454,11 +431,7 @@ ivas_error evs_enc_fx( ELSE IF( EQ_16( st->extl, WB_BWE ) ) { /* WB BWE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_bwe_enc_fx( st, new_inp_resamp16k, -Q1 ); -#else - wb_bwe_enc_fx( st, new_inp_resamp16k ); -#endif } /*---------------------------------------------------------------------* @@ -470,11 +443,7 @@ ivas_error evs_enc_fx( IF( !st->Opt_SC_VBR && GE_32( st->input_Fs, 32000 ) ) { /* Common pre-processing for SWB(FB) TBE and SWB BWE */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_pre_proc_fx( st, new_swb_speech, shb_speech, NULL, realBuffer, imagBuffer, 0, &cldfbScale, NULL ); -#else - swb_pre_proc_fx( st, new_swb_speech, shb_speech, realBuffer, imagBuffer, 0, &cldfbScale, NULL ); -#endif } ELSE IF( GE_32( st->input_Fs, 32000 ) ) { @@ -550,11 +519,7 @@ ivas_error evs_enc_fx( test(); IF( st->Opt_DTX_ON && GE_16( input_frame, L_FRAME32k ) ) { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_CNG_enc_fx( st, shb_speech, 0, old_syn_12k8_16k ); -#else - swb_CNG_enc_fx( st, shb_speech, old_syn_12k8_16k ); -#endif } /*---------------------------------------------------------------------* @@ -600,23 +565,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 33c2aa8f5f0cfb994620bb29f14447e4e6502e75..f32a2f9cfb4227370d9f60684973289c15566f3c 100644 --- a/lib_enc/ext_sig_ana_fx.c +++ b/lib_enc/ext_sig_ana_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -473,14 +476,10 @@ void core_signal_analysis_high_bitrate_fx( *-------------------------------------------------------------------*/ void core_signal_analysis_high_bitrate_ivas_fx( -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_samples, /*i : *Q_new-1 */ -#else - const Word16 *new_samples, /*i : Q0 */ -#endif - const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ - Word16 lsp_new[], /* Q15 */ - Word16 lsp_mid[], /* Q15 */ + const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ + Word16 lsp_new[], /* Q15 */ + Word16 lsp_mid[], /* Q15 */ Encoder_State *st, Word16 pTnsSize[], /* Q0 */ Word16 pTnsBits[], /* Q0 */ @@ -531,9 +530,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( Word16 tmp, *tmpP16; Word16 q_mdstWin = st->q_inp, q_tcx20Win = st->q_inp; Word32 *tmpP32; -#ifndef NONBE_FIX_ISSUE_2206 - Word16 Q_exp; -#endif Word32 L_tmpbuf[N_MAX + L_MDCT_OVLP_MAX]; move16(); move16(); @@ -570,7 +566,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( test(); IF( st->tcxonly && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { Word16 nq; @@ -590,11 +585,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( /* st->new_speech_enc copied from new_samples in Q st->exp_buf_speech_enc This is considering new_samples is in q 0 in current code*/ } -#else - Copy_Scale_sig( new_samples, st->new_speech_enc, L_frame, sub( 15, st->exp_buf_speech_enc ) ); - /* st->new_speech_enc copied from new_samples in Q st->exp_buf_speech_enc - This is considering new_samples is in q 0 in current code*/ -#endif } /*--------------------------------------------------------------* @@ -630,7 +620,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( test(); IF( st->tcxonly && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 nexp; nexp = s_max( s_max( st->exp_buf_speech_enc, st->exp_buf_speech_enc_pe ), st->exp_mem_preemph_enc ); @@ -641,31 +630,10 @@ void core_signal_analysis_high_bitrate_ivas_fx( move16(); st->exp_buf_speech_enc_pe = nexp; move16(); -#else - Copy( st->speech_enc + st->encoderLookahead_enc, st->new_speech_enc_pe, L_frame ); // Assuming both exp_buf_speech_enc_pe and exp_buf_speech_enc are same -#endif preemph_fx( st->new_speech_enc_pe, st->preemph_fac, L_frame, &( st->mem_preemph_enc ) ); // using this to keep values alligned in Q-1 } -#ifndef NONBE_FIX_ISSUE_2206 - /* Rescale Memory */ - Q_exp = sub( *Q_new, st->prev_Q_new ); - move16(); - - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( *Q_new, sub( Q15, st->exp_old_inp_16k ) ) ); // *Q_new - st->exp_old_inp_16k = sub( Q15, *Q_new ); - move16(); - IF( Q_exp != 0 ) - { -#ifndef NONBE_FIX_ISSUE_2206 - Scale_sig( st->buf_speech_enc_pe, st->encoderPastSamples_enc + st->encoderLookahead_enc, sub( Q_exp, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); // *Q_new - st->exp_buf_speech_enc_pe = sub( Q15, Q_exp ); - move16(); -#endif - Scale_sig( &( st->mem_wsp_enc ), 1, Q_exp ); // *Q_new - } -#endif IF( EQ_16( hTcxEnc->tcxMode, TCX_10 ) ) { diff --git a/lib_enc/fd_cng_enc_fx.c b/lib_enc/fd_cng_enc_fx.c index 0c0b95ab96bf73d3fb724f8a7e2772267474db2b..9a34c72308643e7ac1b1f3a1e18a63e0788ce9eb 100644 --- a/lib_enc/fd_cng_enc_fx.c +++ b/lib_enc/fd_cng_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1163,103 +1166,6 @@ void generate_comfort_noise_enc_fx( return; } -#ifndef HARMONIZE_2539_cng_energy -/*-------------------------------------------------------------------* - * cng_energy_fx() - * - * - *-------------------------------------------------------------------*/ - -/*! r: CNG energy */ -Word16 cng_energy_fx( - const Word16 element_mode, /* i : element mode Q0*/ - const Word16 bwidth, /* i : audio bandwidh Q0*/ - const Word16 CNG_mode, /* i : mode for DTX configuration Q0*/ - const Word16 CNG_att, /* i : attenuation factor for CNG Q7*/ - const Word16 *exc, /* i : input signal Q_new*/ - const Word16 len, /* i : vector length Q0*/ - const Word16 Q_new /* i : Input scaling */ -) -{ - Word16 i, maxv, scale; - Word16 hi, lo, enr, tmp16, att; - const Word16 *pt_res; - Word32 L_ener, L_tmp; - - maxv = 0; - move16(); - FOR( i = 0; i < len; i++ ) - { - maxv = s_max( maxv, abs_s( exc[i] ) ); - } - scale = norm_s( maxv ); - pt_res = exc; - L_ener = L_deposit_l( 1 ); - IF( EQ_16( len, L_FRAME ) ) - { - FOR( i = 0; i < 128; i++ ) - { - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mult0( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ - pt_res++; - L_ener = L_add( L_ener, L_shr( L_tmp, 7 ) ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ - } - } - ELSE /* L_FRAME16k */ - { - FOR( i = 0; i < 160; i++ ) - { - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mult0( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ - pt_res++; - L_ener = L_add( L_ener, L_shr( Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), 7 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ - } - } - - hi = norm_l( L_ener ); - lo = Log2_norm_lc( L_shl( L_ener, hi ) ); - hi = sub( 30, add( hi, shl( add( Q_new, scale ), 1 ) ) ); /* log2 exp in Q2*(Q_new+scale) */ - L_tmp = L_Comp( hi, lo ); /* Q16 */ - enr = round_fx( L_shl( L_tmp, 8 ) ); /* Q8 (16+8-16) */ - - /* decrease the energy in case of WB input */ - test(); - IF( EQ_16( element_mode, IVAS_CPE_DFT ) || EQ_16( element_mode, IVAS_CPE_TD ) ) - { - (void) CNG_att; - } - ELSE IF( NE_16( bwidth, NB ) ) - { - IF( EQ_16( bwidth, WB ) ) - { - IF( CNG_mode >= 0 ) - { - /* Bitrate adapted attenuation */ - att = ENR_ATT_fx[CNG_mode]; - } - ELSE - { - /* Use least attenuation for higher bitrates */ - att = ENR_ATT_fx[4]; - } - } - ELSE - { - att = 384; - move16(); /*Q8*/ - } - enr = sub( enr, att ); - } - - return enr; -} -#endif /*-------------------------------------------------------------------* * cng_energy_ivas_fx() @@ -1268,11 +1174,7 @@ Word16 cng_energy_fx( *-------------------------------------------------------------------*/ /*! r: CNG energy */ -#ifdef HARMONIZE_2539_cng_energy Word16 cng_energy_fx( -#else -Word16 cng_energy_ivas_fx( -#endif const Word16 element_mode, /* i : element mode Q0*/ const Word16 bwidth, /* i : audio bandwidh Q0*/ const Word16 CNG_mode, /* i : mode for DTX configuration Q0*/ @@ -1286,13 +1188,11 @@ Word16 cng_energy_ivas_fx( Word16 hi, lo, enr, tmp16, att; const Word16 *pt_res; Word32 L_ener, L_tmp; -#ifdef HARMONIZE_2539_cng_energy Word64 W_ener = W_shr( W_deposit32_h( 1 ), 1 ); if ( EQ_16( element_mode, EVS_MONO ) ) { W_ener = W_neg( W_ener ); } -#endif maxv = 0; move16(); @@ -1304,7 +1204,6 @@ Word16 cng_energy_ivas_fx( pt_res = exc; L_ener = L_deposit_l( 1 ); -#ifdef HARMONIZE_2539_cng_energy Word16 scale_tmp; Word32 scale_tmp32; @@ -1317,13 +1216,11 @@ Word16 cng_energy_ivas_fx( move16(); scale_tmp32 = L_shr( 0x40000000, 7 - 1 ); } -#endif IF( EQ_16( len, L_FRAME ) ) { FOR( i = 0; i < 128; i++ ) { -#ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; @@ -1331,22 +1228,12 @@ Word16 cng_energy_ivas_fx( L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); pt_res++; W_ener = W_msu0_32_32( W_ener, L_tmp, scale_tmp32 ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ -#else - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mult0( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mac0( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) + 7 */ - pt_res++; - L_ener = L_add( L_ener, L_tmp ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ -#endif } } ELSE /* L_FRAME16k */ { FOR( i = 0; i < 160; i++ ) { -#ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; @@ -1354,18 +1241,8 @@ Word16 cng_energy_ivas_fx( L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); pt_res++; W_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), scale_tmp32 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ -#else - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mult( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mac( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) - 7 */ - pt_res++; - L_ener = L_add( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ -#endif } } -#ifdef HARMONIZE_2539_cng_energy L_ener = L_shl( W_extract_h( W_ener ), 1 ); if ( EQ_16( element_mode, EVS_MONO ) ) { @@ -1376,7 +1253,6 @@ Word16 cng_energy_ivas_fx( { L_ener = L_shl( L_ener, 1 ); } -#endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); diff --git a/lib_enc/find_tar_fx.c b/lib_enc/find_tar_fx.c index 9a236731f51865204b2cfdcd8f9a5b65b6aec7fe..21ca6034cdfcbb2b7d3b5f1b37c4a97fda783293 100644 --- a/lib_enc/find_tar_fx.c +++ b/lib_enc/find_tar_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/find_tilt_fx.c b/lib_enc/find_tilt_fx.c index ef0f639a98d6c232f8aacd0da9400e10bcbe4c78..c999afee8065dd826aeb14ab7539445712a80570 100644 --- a/lib_enc/find_tilt_fx.c +++ b/lib_enc/find_tilt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/find_uv_fx.c b/lib_enc/find_uv_fx.c index 063989affe6fee9784922d101ecaa172c316fd8c..561309541f8c49f163dfb7529eb53689a95e8667 100644 --- a/lib_enc/find_uv_fx.c +++ b/lib_enc/find_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/find_wsp_fx.c b/lib_enc/find_wsp_fx.c index a16f1a95c1a0f5fc4fe36566d4d8a53b20136797..4f81362aa5a65c1de02d1fbf3895f60618e0a572 100644 --- a/lib_enc/find_wsp_fx.c +++ b/lib_enc/find_wsp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/frame_spec_dif_cor_rate_fx.c b/lib_enc/frame_spec_dif_cor_rate_fx.c index ea810ab67df717a24556c908ace623c724c0c76d..01eb3c60ed6d404bf886a175583ecc3b8eea1770 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c index 3e3c763230a571a5cd5e0486d3452c7a955585a7..dd05b1c58b6d8eedd906f1b431bfe97a1d465bfe 100644 --- a/lib_enc/gain_enc_fx.c +++ b/lib_enc/gain_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/gaus_enc_fx.c b/lib_enc/gaus_enc_fx.c index 5c53881cd0943f595f435c5d628ce3646b1cfbb2..13e5d798fa3e6bfd2bc9db0c04b135f144c1860e 100644 --- a/lib_enc/gaus_enc_fx.c +++ b/lib_enc/gaus_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/gp_clip_fx.c b/lib_enc/gp_clip_fx.c index 11f5fe90c065742fa8f21e9ab0ae3bd667d88a5f..f2580358cf379d9886f4fab27e88d086b9086928 100644 --- a/lib_enc/gp_clip_fx.c +++ b/lib_enc/gp_clip_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/gs_enc_fx.c b/lib_enc/gs_enc_fx.c index 1e614638f58280c1e54fea9451d7b73a65779782..050f0eb12732d6461833e446adda4be2cb384c9d 100644 --- a/lib_enc/gs_enc_fx.c +++ b/lib_enc/gs_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/guided_plc_enc_fx.c b/lib_enc/guided_plc_enc_fx.c index 826d8e0f3561b00825bcc16480fa4162230f7637..d3fac801941729ad007af5de602b77d6cbeec05e 100644 --- a/lib_enc/guided_plc_enc_fx.c +++ b/lib_enc/guided_plc_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hf_cod_amrwb_fx.c b/lib_enc/hf_cod_amrwb_fx.c index 84ba1b48438deae3fed33092423cbf1bcfee29fe..d098d3584a72a2ce2f2a50e980df44747a74a6de 100644 --- a/lib_enc/hf_cod_amrwb_fx.c +++ b/lib_enc/hf_cod_amrwb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_classifier_enc_fx.c b/lib_enc/hq_classifier_enc_fx.c index 642c503fec5f8a346719a7a26986959bcbea5f55..177852eef13675b065fa0171cb97366bf469fa45 100644 --- a/lib_enc/hq_classifier_enc_fx.c +++ b/lib_enc/hq_classifier_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c index 9b79782558cef87b7bf1e736e4b8d6495e145eb7..740cdef2396d314d5ed719783d27d6c81893169b 100644 --- a/lib_enc/hq_core_enc_fx.c +++ b/lib_enc/hq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -70,12 +73,8 @@ void HQ_core_enc_init_fx( *--------------------------------------------------------------------------*/ void hq_core_enc_fx( - Encoder_State *st, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC - Word16 *audio_fx, /* i : input audio signal Q0*/ -#else - const Word16 *audio_fx, /* i : input audio signal Q0*/ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + Word16 *audio_fx, /* i : input audio signal Q0*/ const Word16 input_frame_orig, /* i : frame length Q0*/ const Word16 hq_core_type, /* i : HQ core type Q0*/ const Word16 Voicing_flag, /* i : Voicing flag for FER method selection Q0*/ @@ -127,7 +126,6 @@ void hq_core_enc_fx( st->hTcxCfg->tcx_curr_overlap_mode = ALDO_WINDOW; move16(); -#ifdef SIMPLIFY_CORE_ENC /*-------------------------------------------------------------------------- * Scaling of buffers *--------------------------------------------------------------------------*/ @@ -145,7 +143,6 @@ void hq_core_enc_fx( move16(); } -#endif /*-------------------------------------------------------------------------- * Preprocessing in the first HQ frame after ACELP frame * Find the number of bits for PVQ coding diff --git a/lib_enc/hq_env_enc_fx.c b/lib_enc/hq_env_enc_fx.c index 6374a89e81d71fe8e3c79b2288ef641b249bedf5..7cfb81c32a509e61c161f5021109caf1fdaf3057 100644 --- a/lib_enc/hq_env_enc_fx.c +++ b/lib_enc/hq_env_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_hr_enc_fx.c b/lib_enc/hq_hr_enc_fx.c index 91df70552a8225792ae6ff7a8f24a329731b547b..35c6a4b14a75fad83a944bc2dfedf37b664a8530 100644 --- a/lib_enc/hq_hr_enc_fx.c +++ b/lib_enc/hq_hr_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_lr_enc_fx.c b/lib_enc/hq_lr_enc_fx.c index 9165eb8423403618d01f77721c1c124a90363877..f99ec0dcf6d9d055733d160ac14d5a8ff589fd39 100644 --- a/lib_enc/hq_lr_enc_fx.c +++ b/lib_enc/hq_lr_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hvq_enc_fx.c b/lib_enc/hvq_enc_fx.c index c570a6e49596ffd27709fba8fba1bae2aeabbacc..57354a8d4923612fcf40cf0327bbd875e2bd7a9c 100644 --- a/lib_enc/hvq_enc_fx.c +++ b/lib_enc/hvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c index 6a24167059b475842278ad6b763c9d676c6f76bf..01d280998a9f634ea196b81b7d037892e1757adb 100644 --- a/lib_enc/igf_enc_fx.c +++ b/lib_enc/igf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -65,189 +68,6 @@ static void IGF_write_bits( return; } -#ifndef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 -/**********************************************************************/ /* - envelope estimation - **************************************************************************/ - -static void IGF_CalculateEnvelope( - const IGF_ENC_INSTANCE_HANDLE hInstance, /**< in: | instance handle of IGF Encoder */ - Word32 *pMDCTSpectrum, /**< in: Q31 | MDCT spectrum */ - Word16 MDCTSpectrum_e, /**< in: | exponent of MDCT spectrum */ - Word32 *pPowerSpectrum, /**< in: Q31 | MDCT^2 + MDST^2 spectrum, or estimate */ - Word16 PowerSpectrum_e, /**< in: | exponent of MDCT^2 + MDST^2 spectrum, or estimate */ - const Word16 igfGridIdx /**< in: Q0 | IGF grid index */ - -) -{ - IGF_ENC_PRIVATE_DATA_HANDLE hPrivateData; - H_IGF_GRID hGrid; - Word16 *swb_offset; - Word16 sfb; /* this is the actual scalefactor band */ - Word16 width; /* this is width in subbands of the actual scalefactor band */ - Word16 tile_idx; - Word16 strt_cpy; - Word16 gain; /* the gain which has to be applied to the source tile to get the destination energy */ - Word16 gain_exp; - Word16 tb; - Word16 zeroNrg; /* Q0 | flag indicating if the signal contains almost no energy */ - Word32 sfbEnergyR[IGF_MAX_SFB]; - Word16 sfbEnergyR_exp[IGF_MAX_SFB]; - Word32 sfbEnergyC[IGF_MAX_SFB]; /* the energy of the destination region of the tile */ - Word16 sfbEnergyC_exp[IGF_MAX_SFB]; - Word32 sfbEnergyTileR[IGF_MAX_SFB]; - Word16 sfbEnergyTileR_exp[IGF_MAX_SFB]; - Word32 sfbEnergyTileC[IGF_MAX_SFB]; /* the energy of the destination region of the tile */ - Word16 sfbEnergyTileC_exp[IGF_MAX_SFB]; - Word32 LFMDCTSpectrum[N_MAX]; - Word16 LFMDCTSpectrum_exp; - Word32 LFPowerSpectrum[N_MAX]; - Word16 tmp; - Word16 tmp_exp; - Word32 L_tmp; - Word16 shift; - - /* initialize variables */ - Copy32( pMDCTSpectrum + IGF_START_MN, hInstance->spec_be_igf, hInstance->infoStopLine - IGF_START_MN ); - hPrivateData = &hInstance->igfData; - hGrid = &hPrivateData->igfInfo.grid[igfGridIdx]; - swb_offset = hGrid->swb_offset; - move16(); - hInstance->spec_be_igf_e = MDCTSpectrum_e; - move16(); - zeroNrg = 0; - move16(); - - IF( pPowerSpectrum != NULL ) - { - FOR( tile_idx = 0; tile_idx < hGrid->nTiles; tile_idx++ ) - { - strt_cpy = hGrid->sbWrap[tile_idx]; - move16(); - FOR( sfb = hGrid->sfbWrap[tile_idx]; sfb < hGrid->sfbWrap[tile_idx + 1]; sfb++ ) - { - FOR( tb = swb_offset[sfb]; tb < swb_offset[sfb + 1]; tb++ ) - { - LFMDCTSpectrum[tb] = pMDCTSpectrum[strt_cpy]; - move32(); - LFPowerSpectrum[tb] = pPowerSpectrum[strt_cpy]; - move32(); - strt_cpy = add( strt_cpy, 1 ); - } - } - } - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, pPowerSpectrum, &PowerSpectrum_e, sfbEnergyC, sfbEnergyC_exp ); - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, LFPowerSpectrum, &PowerSpectrum_e, sfbEnergyTileC, sfbEnergyTileC_exp ); - - IGFCommonFuncsMDCTSquareSpec( hGrid->startLine, hGrid->stopLine, LFMDCTSpectrum, MDCTSpectrum_e, LFMDCTSpectrum, &LFMDCTSpectrum_exp, 0, EVS_MONO ); - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, LFMDCTSpectrum, &LFMDCTSpectrum_exp, sfbEnergyTileR, sfbEnergyTileR_exp ); - } - ELSE - { - IGFCommonFuncsMDCTSquareSpec( hGrid->startLine, hGrid->stopLine, pMDCTSpectrum, MDCTSpectrum_e, LFMDCTSpectrum, &LFMDCTSpectrum_exp, 0, EVS_MONO ); - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, LFMDCTSpectrum, &LFMDCTSpectrum_exp, sfbEnergyR, sfbEnergyR_exp ); - } - - FOR( tile_idx = 0; tile_idx < hGrid->nTiles; tile_idx++ ) - { - - FOR( sfb = hGrid->sfbWrap[tile_idx]; sfb < hGrid->sfbWrap[tile_idx + 1]; sfb++ ) - { - width = sub( swb_offset[sfb + 1], swb_offset[sfb] ); - L_tmp = 0; - move16(); - gain_exp = 0; - move16(); - - IF( pPowerSpectrum ) - { - IF( sfbEnergyTileR[sfb] == 0 ) - { - sfbEnergyTileR[sfb] = 0x00010000; - move32(); - sfbEnergyTileR_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - IF( sfbEnergyTileC[sfb] == 0 ) - { - sfbEnergyTileC[sfb] = 0x00010000; - move32(); - sfbEnergyTileC_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - IF( sfbEnergyC[sfb] == 0 ) - { - sfbEnergyC[sfb] = 0x00010000; - move32(); - sfbEnergyC_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - - BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyTileR[sfb] ), sfbEnergyTileR_exp[sfb], width, 15, &gain, &gain_exp ); - BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyC[sfb] ), sfbEnergyC_exp[sfb], round_fx_sat( sfbEnergyTileC[sfb] ), sfbEnergyTileC_exp[sfb], &tmp, &tmp_exp ); - L_tmp = L_mult( gain, tmp ); - gain_exp = add( gain_exp, tmp_exp ); - } - ELSE - { - IF( sfbEnergyR[sfb] == 0 ) - { - sfbEnergyR[sfb] = 0x00010000; - move32(); - sfbEnergyR_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyR[sfb] ), sfbEnergyR_exp[sfb], width, 15, &gain, &gain_exp ); - L_tmp = L_deposit_h( gain ); - } - - /* gain = 0.5f + (float)((2.885390081777927f * log(gain) + 16.f)); */ - L_tmp = BASOP_Util_Log2( L_tmp ); - L_tmp = L_add( L_tmp, L_deposit_h( shl( gain_exp, 15 - 6 ) ) ); - shift = norm_l( L_tmp ); - gain = round_fx_sat( L_shl( L_tmp, shift ) ); - gain_exp = sub( 7, shift ); - gain_exp = BASOP_Util_Add_MantExp( gain, gain_exp, 32767 /*16 Q11*/, 4, &gain ); - gain_exp = BASOP_Util_Add_MantExp( gain, gain_exp, 0x4000, 0, &gain ); - gain = shr( gain, s_min( sub( 15, gain_exp ), 15 ) ); - - if ( gain > 91 ) - { - gain = s_min( gain, 91 ); /* 13+15+63, see arithocde encode residual */ - } - if ( gain < 0 ) - { - gain = s_max( gain, 0 ); - } - - /* set gain to zero if the signal contains too less energy */ - if ( zeroNrg != 0 ) - { - gain = 0; - move16(); - } - - hPrivateData->igfScfQuantized[sfb] = gain; - move16(); - } - } - - return; -} -#endif - /*-------------------------------------------------------------------* * IGF_WriteEnvelope() @@ -2011,11 +1831,7 @@ static Word32 IGF_getTNR_ivas_fx( * envelope estimation *-------------------------------------------------------------------*/ -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 static void IGF_CalculateEnvelope_fx( -#else -static void IGF_CalculateEnvelope_ivas_fx( -#endif const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : instance handle of IGF Encoder */ Word32 *pMDCTSpectrum_fx, /* i : MDCT spectrum */ Word16 e_mdct, /* i : exp of MDCT spectrum */ @@ -2062,25 +1878,21 @@ static void IGF_CalculateEnvelope_ivas_fx( Word16 crest_exp; /*Stores the exponent of the result(return value)*/ Word16 sfm_exp; /*stores exponent for ouput from sfm*/ Word16 tmp_e; -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 Word32 LFMDCTSpectrum[N_MAX]; Word16 sfbEnergyTileR16; Word16 sfbEnergyR16; Word16 gain16; /* the EVS gain which has to be applied to the source tile to get the destination energy */ Word16 zeroNrg; /* flag indicating if the signal contains almost no energy */ -#endif hPrivateData = &hIGFEnc->igfData; hGrid = &hPrivateData->igfInfo.grid[(Word16) igfGridIdx]; swb_offset = hGrid->swb_offset; -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 zeroNrg = 0; sfbEnergyTileR16 = 0; temp = 0; move16(); move16(); move16(); -#endif IF( element_mode > EVS_MONO ) { @@ -2114,7 +1926,6 @@ static void IGF_CalculateEnvelope_ivas_fx( } } } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 ELSE { Copy32( pMDCTSpectrum_fx + IGF_START_MN, hIGFEnc->spec_be_igf, hIGFEnc->infoStopLine - IGF_START_MN ); @@ -2137,13 +1948,8 @@ static void IGF_CalculateEnvelope_ivas_fx( } } } -#endif -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( pPowerSpectrum_fx && ( element_mode > EVS_MONO ) ) -#else - IF( pPowerSpectrum_fx ) -#endif { FOR( sb = hGrid->sbWrap[0]; sb < swb_offset[hGrid->sfbWrap[hGrid->nTiles]]; sb++ ) { @@ -2185,10 +1991,8 @@ static void IGF_CalculateEnvelope_ivas_fx( { tmp = strt_cpy; move16(); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif FOR( sb = swb_offset[sfb]; sb < swb_offset[sfb + 1]; sb++ ) { Word16 shift = norm_l( pPowerSpectrum_fx[sb] ); @@ -2207,7 +2011,6 @@ static void IGF_CalculateEnvelope_ivas_fx( sfbEnergyTileR = L_deposit_h( BASOP_Util_Divide3232_Scale( sfbEnergyTileR, width, &tmp_e ) ); sfbEnergyTileR_e = add( sub( sfbEnergyTileR_e, Q31 ), tmp_e ); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { @@ -2246,7 +2049,6 @@ static void IGF_CalculateEnvelope_ivas_fx( strt_cpy += swb_offset[sfb + 1] - swb_offset[sfb]; } -#endif IF( sfbEnergyTileR == 0 ) { @@ -2257,22 +2059,14 @@ static void IGF_CalculateEnvelope_ivas_fx( } IF( sfbEnergyC == 0 ) { -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 sfbEnergyC = ( element_mode > EVS_MONO ) ? EPSILON_FX : 0x00010000; -#else - sfbEnergyC = EPSILON_FX; -#endif sfbEnergyC_e = 0; move32(); move16(); } IF( sfbEnergyTileC == 0 ) { -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 sfbEnergyTileC = ( element_mode > EVS_MONO ) ? EPSILON_FX : 0x00010000; -#else - sfbEnergyTileC = EPSILON_FX; -#endif sfbEnergyTileC_e = 0; temp = BASOP_Util_Divide3232_Scale( sfbEnergyC, sfbEnergyTileC, &tmp_e ); tmp_e = add( tmp_e, sub( sfbEnergyC_e, sfbEnergyTileC_e ) ); @@ -2282,33 +2076,25 @@ static void IGF_CalculateEnvelope_ivas_fx( ELSE { /*gain = (float) ( sfbEnergyTileR * ( sfbEnergyC / sfbEnergyTileC ) );*/ -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif temp = BASOP_Util_Divide3232_Scale( sfbEnergyC, sfbEnergyTileC, &tmp_e ); tmp_e = add( tmp_e, sub( sfbEnergyC_e, sfbEnergyTileC_e ) ); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyC ), sfbEnergyC_e, round_fx_sat( sfbEnergyTileC ), sfbEnergyTileC_e, &tmp, &tmp_e ); } -#endif } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif gain = Mult_32_16( sfbEnergyTileR, temp ); // gain_e -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { gain = L_mult( sfbEnergyTileR16, tmp ); // gain_e } -#endif gain_e = add( tmp_e, sfbEnergyTileR_e ); IF( element_mode > EVS_MONO ) @@ -2625,10 +2411,8 @@ static void IGF_CalculateEnvelope_ivas_fx( } ELSE { -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif tmp_e = e_mdct; move16(); sfbEnergyR = add_sat( EPSILON_FX, BASOP_Util_Divide3216_Scale( sum2_32_fx( pMDCTSpectrum_fx + swb_offset[sfb], width, &tmp_e ) /*exp: tmp_e*/, width, &sfbEnergyR_e ) ); // sfbEnergyR_e @@ -2658,7 +2442,6 @@ static void IGF_CalculateEnvelope_ivas_fx( move16(); move16(); move16(); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { @@ -2691,21 +2474,14 @@ static void IGF_CalculateEnvelope_ivas_fx( BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyR ), sfbEnergyR_e, width, 15, &sfbEnergyR16, &gain_e ); gain = L_deposit_h( sfbEnergyR16 ); } -#endif } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif gain = Mult_32_16( gain, att ); // gain_e gain_e = add( gain_e, 0 ); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 /*gain=0.5f+log2f(gain)*2+16 because 2.885390081777927f=2*1/loge(2) so 2*1/loge(2)*loge(x) can be written as 2*log2(x)*/ -#else - /*gain=0.5f+log2f(gain)*2+16 becuase 2.885390081777927f=2*1/loge(2) so 2*1/loge(2)*loge(x) can be written as 2*log2(x)*/ -#endif gain = L_add( ONE_IN_Q22, L_add( L_add( L_shr( BASOP_Util_Log2( gain ), 1 ), L_shl( gain_e, Q24 ) ), L_shl( 16, Q23 ) ) ); /*Q23*/ test(); test(); @@ -2725,7 +2501,6 @@ static void IGF_CalculateEnvelope_ivas_fx( move16(); hPrivateData->igfScfQuantized[sfb] = extract_l( L_shr( gain, Q23 ) ); /*Q0*/ move16(); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { @@ -2759,7 +2534,6 @@ static void IGF_CalculateEnvelope_ivas_fx( hPrivateData->igfScfQuantized[sfb] = gain16; move16(); } -#endif } } @@ -3531,18 +3305,7 @@ void IGFEncApplyMono_fx( calculate_hangover_attenuation_gain_fx( st, &att_fx, vad_hover_flag ); } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IGF_CalculateEnvelope_fx( st->hIGFEnc, pMDCTSpectrum_fx, e_mdct, pPowerSpectrumParameter_fx, pPowerSpectrumParameter_exp, igfGridIdx, st->hTranDet->transientDetector.bIsAttackPresent, last_core_acelp, st->element_mode, att_fx ); -#else - IF( EQ_16( st->element_mode, EVS_MONO ) ) - { - IGF_CalculateEnvelope( st->hIGFEnc, pMDCTSpectrum_fx, e_mdct, pPowerSpectrumParameter_fx, *e_ps, igfGridIdx ); - } - ELSE - { - IGF_CalculateEnvelope_ivas_fx( st->hIGFEnc, pMDCTSpectrum_fx, e_mdct, pPowerSpectrumParameter_fx, pPowerSpectrumParameter_exp, igfGridIdx, st->hTranDet->transientDetector.bIsAttackPresent, last_core_acelp, st->element_mode, att_fx ); - } -#endif IF( isTCX20 ) { diff --git a/lib_enc/igf_scf_enc_fx.c b/lib_enc/igf_scf_enc_fx.c index 9f55aafd40a8aadbc18081c156cf88b8a0af6a2e..dfa2afd13989aafc04016e34a0210448315eae78 100644 --- a/lib_enc/igf_scf_enc_fx.c +++ b/lib_enc/igf_scf_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -129,11 +101,7 @@ static void arith_encode_bits( FOR( i = nBits - 1; i >= 0; --i ) /* nBits > 0 */ { bit = s_and( shr( x, i ), 1 ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_sign_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState_ivas_fx, bit ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_sign_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState_fx, bit ); -#endif move16(); } } @@ -142,11 +110,7 @@ static void arith_encode_bits( FOR( i = nBits - 1; i >= 0; --i ) /* nBits > 0 */ { bit = s_and( shr( x, i ), 1 ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_sign_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState, bit ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_sign_ivas_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState, bit ); -#endif move16(); } } @@ -177,35 +141,19 @@ static void arith_encode_residual( /* encode one of the IGF_SYMBOLS_IN_TABLE == 27 alphabet symbols using the new raw AC function */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, x, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - x, - cumulativeFrequencyTable ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, x, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - x, - cumulativeFrequencyTable ); -#endif } move16(); @@ -218,35 +166,19 @@ static void arith_encode_residual( extra = sub( IGF_MIN_ENC_SEPARATE - 1, x ); IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, 0, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - 0, - cumulativeFrequencyTable ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, 0, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - 0, - cumulativeFrequencyTable ); -#endif } move16(); @@ -258,35 +190,19 @@ static void arith_encode_residual( IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, IGF_SYMBOLS_IN_TABLE - 1, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - IGF_SYMBOLS_IN_TABLE - 1, - cumulativeFrequencyTable ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, IGF_SYMBOLS_IN_TABLE - 1, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - IGF_SYMBOLS_IN_TABLE - 1, - cumulativeFrequencyTable ); -#endif } move16(); } @@ -363,35 +279,19 @@ static void encode_sfe_vector( /* encode one of the IGF_SYMBOLS_IN_TABLE == 27 alphabet symbols using the new raw AC function */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, shr( x[f], 2 ), (const UWord16 *) hPrivateData->cf_se00 ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - shr( x[f], 2 ), - (const UWord16 *) hPrivateData->cf_se00 ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, shr( x[f], 2 ), (const UWord16 *) hPrivateData->cf_se00 ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - shr( x[f], 2 ), - (const UWord16 *) hPrivateData->cf_se00 ); -#endif } move16(); arith_encode_bits( hPrivateData, ptr, x[f] & 3, 2, element_mode ); /* LSBs as 2 bit raw */ @@ -481,19 +381,11 @@ Word16 IGFSCFEncoderEncode_fx( /* start AC encoding */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &hPublicData->acState_ivas_fx ); -#else - ari_start_encoding_14bits_fx( &hPublicData->acState_fx ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &hPublicData->acState ); -#else - ari_start_encoding_14bits_ivas_fx( &hPublicData->acState ); -#endif } /* check if coder needs a reset and do it if necessary */ @@ -508,19 +400,11 @@ Word16 IGFSCFEncoderEncode_fx( /* finish AC encoding */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPublicData->ptrBitIndex = ari_done_encoding_14bits_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState_ivas_fx ); -#else - hPublicData->ptrBitIndex = ari_done_encoding_14bits_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState_fx ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPublicData->ptrBitIndex = ari_done_encoding_14bits_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState ); -#else - hPublicData->ptrBitIndex = ari_done_encoding_14bits_ivas_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState ); -#endif } hPublicData->bitCount = add( hPublicData->bitCount, hPublicData->ptrBitIndex ); move16(); diff --git a/lib_enc/init_enc_fx.c b/lib_enc/init_enc_fx.c index 52fb9b6252e45c2fcab9025193443c7955e0bef6..56292da651562fd84112444d47fcac87068f36eb 100644 --- a/lib_enc/init_enc_fx.c +++ b/lib_enc/init_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -249,13 +221,11 @@ ivas_error init_encoder_fx( st->prev_Q_new = 0; move16(); -#ifdef NONBE_FIX_ISSUE_2518 if ( st->element_mode > EVS_MONO ) { st->prev_Q_new = Q15; move16(); } -#endif IF( EQ_32( st->input_Fs, 8000 ) ) { @@ -396,12 +366,10 @@ ivas_error init_encoder_fx( st->Bin_E_old_fx = st->hSignalBuf->Bin_E_old_fx; st->mem_decim_fx = st->hSignalBuf->mem_decim_fx; st->mem_decim16k_fx = st->hSignalBuf->mem_decim16k_fx; -#ifdef NONBE_FIX_ISSUE_2206 st->q_mem_decim_fx = Q15; move16(); st->q_mem_decim16k_fx = Q15; move16(); -#endif st->old_inp_12k8_fx = st->hSignalBuf->old_inp_12k8_fx; st->old_inp_16k_fx = st->hSignalBuf->old_inp_16k_fx; st->buf_speech_enc_pe = st->hSignalBuf->buf_speech_enc_pe; @@ -1151,13 +1119,6 @@ ivas_error init_encoder_fx( init_coder_ace_plus_ivas_fx( st, st->last_total_brate, igf_brate, 0 ); } -#ifndef NONBE_FIX_ISSUE_2518 - IF( st->hLPDmem != NULL ) - { - st->hLPDmem->q_lpd_old_exc = st->prev_Q_new; - move16(); - } -#endif /*-----------------------------------------------------------------* * FD-CNG encoder @@ -1242,10 +1203,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 95c7bf160630f3ba7cb69b25bdc76556759c5664..b8279b36c86e76b67581352058238733439ac9a2 100644 --- a/lib_enc/inov_enc_fx.c +++ b/lib_enc/inov_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -421,12 +424,6 @@ Word16 inov_encode_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 bbb734f9c38d29ccc72586a203f5544c9537160d..c2568a0581f26d760852d72bd260ce68a470066b 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 4d003b56855c5ac3eaed71baea7dd6ac78e637fc..1f0a9ae369b07184aef8eba89c1e02f8ea4efde6 100644 --- a/lib_enc/ivas_agc_enc_fx.c +++ b/lib_enc/ivas_agc_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c index b734fce5223b569dbb8e7f4934e0004a8d112ed3..bc0db16b882076eb0dbc1ef460bdf0d9dd0eb001 100644 --- a/lib_enc/ivas_core_enc_fx.c +++ b/lib_enc/ivas_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "wmc_auto.h" #include "prot_fx_enc.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -49,16 +18,12 @@ *-------------------------------------------------------------------*/ ivas_error ivas_core_enc_fx( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - const Word16 n_CoreChannels, /* i : number of core channels to be coded Q0*/ - Word16 old_inp_12k8_fx[][L_INP_12k8], /* i : buffer of old input signal Q_new-1*/ -#ifdef NONBE_FIX_ISSUE_2206 - Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q_new-1*/ -#else - Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q-1*/ -#endif + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const Word16 n_CoreChannels, /* i : number of core channels to be coded Q0*/ + Word16 old_inp_12k8_fx[][L_INP_12k8], /* i : buffer of old input signal Q_new-1*/ + Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q_new-1*/ Word16 Q_new[], /* i : Q factor of speech buffers */ Word32 ener_fx[], /* i : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 A_fx[][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes Q12*/ @@ -94,9 +59,7 @@ ivas_error ivas_core_enc_fx( Word16 *inp_fx[CPE_CHANNELS]; Word16 *shb_speech_fx; Word16 new_inp_resamp16k_fx[CPE_CHANNELS][L_FRAME16k]; /* new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_new_inp_resamp16k_fx[CPE_CHANNELS]; -#endif Word16 *hb_speech_fx; Word32 bwe_exc_extended_fx[CPE_CHANNELS][L_FRAME32k + NL_BUFF_OFFSET]; /* 2 * Q_new */ Word16 old_syn_12k8_16k_fx[CPE_CHANNELS][L_FRAME16k]; /* ACELP core synthesis at 12.8kHz or 16kHz to be used by the SWB BWE */ @@ -111,11 +74,7 @@ ivas_error ivas_core_enc_fx( Word16 diff_nBits; ivas_error error; Word16 max_num_indices_BWE; -#ifdef SIMPLIFY_CORE_ENC Word16 i, shift; -#else - Word16 i, shift, Q_min; -#endif FOR( i = 0; i < CPE_CHANNELS; i++ ) { @@ -209,22 +168,6 @@ ivas_error ivas_core_enc_fx( * Pre-processing, incl. Decision matrix *---------------------------------------------------------------------*/ -#ifndef SIMPLIFY_CORE_ENC - IF( st->cldfbAnaEnc ) - { - Word16 tmp_shift = L_norm_arr( enerBuffer_fx[n], st->cldfbAnaEnc->no_channels ); - tmp_shift = sub( tmp_shift, 5 ); - IF( tmp_shift < 0 ) - { - scale_sig32( enerBuffer_fx[n], st->cldfbAnaEnc->no_channels, tmp_shift ); /* enerBuffer_fx_exp[n] - tmp_shift */ - enerBuffer_fx_exp[n] = sub( enerBuffer_fx_exp[n], tmp_shift ); - move16(); - } - } - - Scale_sig( fft_buff_fx[n], ( 2 * L_FFT ), -1 ); // To create 1 headroom for addition of magnitude square spectrum - // fft_buff_fx_exp = add(fft_buff_fx_exp,1); -#endif FOR( i = 0; i < st->nb_subfr; i++ ) { Scale_sig( &Aw_fx[n][i * ( M + 1 )], M + 1, sub( norm_s( Aw_fx[n][i * ( M + 1 )] ), 2 ) ); // scaling to Q12 @@ -238,15 +181,9 @@ ivas_error ivas_core_enc_fx( move32(); } -#ifdef NONBE_FIX_ISSUE_2206 pre_proc_ivas_fx( st, last_element_mode, element_brate, last_element_brate_tmp, input_frame, old_inp_12k8_fx[n] /* i/o: Q_new - 1 */, old_inp_16k_fx[n] /* i/o: Q_new - 1 */, &inp_fx[n], &ener_fx[n], A_fx[n], Aw_fx[n], epsP_fx[n], &epsP_fx_q[n], lsp_new_fx[n], lsp_mid_fx[n], new_inp_resamp16k_fx[n], &q_new_inp_resamp16k_fx[n], &Voicing_flag[n], old_wsp_fx[n], e_old_wsp[n], loc_harm[n], vad_flag_dtx[n], MCT_flag, vad_hover_flag[n], flag_16k_smc, enerBuffer_fx[n], enerBuffer_fx_exp[n], fft_buff_fx[n], cor_map_sum_fx[n], &Q_new[n] ); -#else - pre_proc_ivas_fx( st, last_element_mode, element_brate, last_element_brate_tmp, input_frame, old_inp_12k8_fx[n] /* i: -1, o: Q_new - 1 */, old_inp_16k_fx[n] /* i: -1, o: Q_new - 1 */, - &inp_fx[n], &ener_fx[n], A_fx[n], Aw_fx[n], epsP_fx[n], &epsP_fx_q[n], lsp_new_fx[n], lsp_mid_fx[n], new_inp_resamp16k_fx[n], &Voicing_flag[n], old_wsp_fx[n], e_old_wsp[n], loc_harm[n], - vad_flag_dtx[n], MCT_flag, vad_hover_flag[n], flag_16k_smc, enerBuffer_fx[n], enerBuffer_fx_exp[n], fft_buff_fx[n], cor_map_sum_fx[n], &Q_new[n] ); -#endif test(); IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || EQ_16( st->element_mode, IVAS_SCE ) ) @@ -331,89 +268,12 @@ ivas_error ivas_core_enc_fx( IF( ( EQ_16( st->core, TCX_20_CORE ) || EQ_16( st->core, TCX_10_CORE ) ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { /* TCX core encoder */ -#ifdef SIMPLIFY_CORE_ENC stereo_tcx_core_enc( st, old_inp_12k8_fx[n] + L_INP_MEM, old_inp_16k_fx[n] + L_INP_MEM, Aw_fx[n], lsp_new_fx[n], lsp_mid_fx[n], pitch_buf_fx[n], last_element_mode, vad_hover_flag[0], Q_new[n] ); -#else - TCX_ENC_HANDLE hTcxEnc = st->hTcxEnc; - Word16 Q_spec_old, L_spec; - -#ifdef NONBE_FIX_ISSUE_2206 - Scale_sig( st->hTcxEnc->Txnq, L_FRAME32k / 2 + 64, sub( negate( 1 ), st->hTcxEnc->q_Txnq ) ); /* Q(-1) */ - st->hTcxEnc->q_Txnq = -Q1; - move16(); - - Q_spec_old = hTcxEnc->spectrum_long_e; - move16(); - - /* TCX core encoder */ - stereo_tcx_core_enc( st, old_inp_12k8_fx[n] + L_INP_MEM, old_inp_16k_fx[n] + L_INP_MEM, Aw_fx[n], lsp_new_fx[n], lsp_mid_fx[n], pitch_buf_fx[n], last_element_mode, vad_hover_flag[0], Q_new[n] ); -#else - Scale_sig( old_inp_12k8_fx[n], L_INP_12k8, sub( Q1, Q_new[n] ) ); // Q0 - Scale_sig( old_inp_16k_fx[n], L_INP, sub( Q1, Q_new[n] ) ); // Q0 - - Scale_sig( st->hTcxEnc->Txnq, L_FRAME32k / 2 + 64, sub( negate( 1 ), st->hTcxEnc->q_Txnq ) ); /* Q(-1) */ - st->hTcxEnc->q_Txnq = -Q1; - move16(); - Q_spec_old = st->hTcxEnc->spectrum_long_e; - move16(); - - /* TCX core encoder */ - stereo_tcx_core_enc( st, old_inp_12k8_fx[n] + L_INP_MEM, old_inp_16k_fx[n] + L_INP_MEM, Aw_fx[n], lsp_new_fx[n], lsp_mid_fx[n], pitch_buf_fx[n], last_element_mode, vad_hover_flag[0], 0 ); - - Scale_sig( old_inp_12k8_fx[n], L_INP_12k8, sub( Q_new[n], Q1 ) ); // Q_new[n] - 1 - Scale_sig( old_inp_16k_fx[n], L_INP, sub( Q_new[n], Q1 ) ); // Q_new[n] - 1 - - Scale_sig( st->hTcxEnc->old_out_fx, L_FRAME32k, negate( st->hTcxEnc->Q_old_out ) ); // scaling back to Q0 - st->hTcxEnc->Q_old_out = 0; - move16(); -#endif - - IF( EQ_16( hTcxEnc->tcxMode, TCX_20 ) ) - { - L_spec = st->hTcxCfg->tcx_coded_lines; - move16(); - Word16 e_max = s_max( hTcxEnc->spectrum_e[0], Q_spec_old ); - e_max = sub( e_max, L_norm_arr( hTcxEnc->spectrum_long_fx, N_MAX ) ); - scale_sig32( hTcxEnc->spectrum_fx[0], L_spec, sub( hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_long_fx + L_spec, sub( N_MAX, L_spec ), sub( Q_spec_old, e_max ) ); // exp(e_max) - - hTcxEnc->spectrum_long_e = e_max; - move16(); - } - ELSE - { - Word16 e_max = s_max( Q_spec_old, s_max( hTcxEnc->spectrum_e[0], hTcxEnc->spectrum_e[1] ) ); - e_max = sub( e_max, L_norm_arr( hTcxEnc->spectrum_long_fx, N_MAX ) ); - L_spec = shr( st->hTcxCfg->tcx_coded_lines, 1 ); - scale_sig32( hTcxEnc->spectrum_fx[0], L_spec, sub( hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_fx[1], L_spec, sub( hTcxEnc->spectrum_e[1], e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_fx[0] + L_spec, sub( N_TCX10_MAX, L_spec ), sub( Q_spec_old, e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_fx[1] + L_spec, sub( N_MAX - N_TCX10_MAX, L_spec ), sub( Q_spec_old, e_max ) ); // exp(e_max) - - hTcxEnc->spectrum_long_e = s_max( Q_spec_old, s_max( hTcxEnc->spectrum_e[0], hTcxEnc->spectrum_e[1] ) ); - move16(); - } - hTcxEnc->spectrum_e[0] = hTcxEnc->spectrum_long_e; - move16(); - hTcxEnc->spectrum_e[1] = hTcxEnc->spectrum_long_e; - move16(); -#endif } IF( EQ_16( st->core, HQ_CORE ) ) { /* HQ core encoder */ -#ifndef SIMPLIFY_CORE_ENC - Scale_sig( st->input_fx, input_frame, negate( st->q_inp ) ); // Q0 - st->q_inp = 0; - move16(); - Scale_sig( st->old_input_signal_fx, input_frame, negate( st->q_old_inp ) ); // Q0 - st->q_old_inp = 0; - move16(); - Scale_sig( st->hTcxEnc->Txnq, L_FRAME32k / 2 + 64, sub( 0, st->hTcxEnc->q_Txnq ) ); // Q0 - st->hTcxEnc->q_Txnq = 0; - move16(); -#endif hq_core_enc_fx( st, st->input_fx, input_frame, NORMAL_HQ_CORE, Voicing_flag[n], vad_hover_flag[0] ); } @@ -442,84 +302,23 @@ ivas_error ivas_core_enc_fx( { Word16 mdst_spectrum_e[CPE_CHANNELS][NB_DIV]; Word16 orig_spectrum_e[CPE_CHANNELS][NB_DIV]; -#ifdef SIMPLIFY_CORE_ENC Word16 Q_spec_old[CPE_CHANNELS]; -#else - Word16 pitch_buf_fx_new[CPE_CHANNELS][NB_SUBFR16k]; /* Q6 */ - FOR( n = 0; n < n_CoreChannels; n++ ) - { - st = sts[n]; -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[n], L_INP, sub( Q1, Q_new[n] ) ); // Q0 -#endif -#ifndef NONBE_FIX_ISSUE_2518 - IF( NE_16( st->element_mode, IVAS_CPE_DFT ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) - { - st->hTcxEnc->exp_buf_speech_ltp = st->exp_buf_speech_enc; - move16(); - } -#endif - } - Word16 Q_spec_old[2], L_spec; -#endif Q_spec_old[0] = hCPE->hCoreCoder[0]->hTcxEnc->spectrum_long_e; move16(); Q_spec_old[1] = hCPE->hCoreCoder[1]->hTcxEnc->spectrum_long_e; move16(); -#ifdef SIMPLIFY_CORE_ENC -#ifndef NONBE_FIX_ISSUE_2206 - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx_new, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#else -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#else - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#endif -#endif -#else -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx_new, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#else - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx_new, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#endif -#endif FOR( i = 0; i < CPE_CHANNELS; i++ ) { -#ifndef SIMPLIFY_CORE_ENC - st = sts[i]; - Word16 nSubframes = NB_DIV; - move16(); -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[i], L_INP, sub( Q_new[i], Q1 ) ); // Q_new[n] - 1 -#endif - if ( EQ_16( st->hTcxEnc->tcxMode, TCX_20 ) ) - { - nSubframes = 1; - move16(); - } -#endif hMCT->q_mdst_spectrum_long_fx[cpe_id][i][0] = sub( Q31, mdst_spectrum_e[i][0] ); move16(); -#ifdef SIMPLIFY_CORE_ENC IF( NE_16( sts[i]->hTcxEnc->tcxMode, TCX_20 ) ) -#else - IF( EQ_16( nSubframes, NB_DIV ) ) -#endif { hMCT->q_mdst_spectrum_long_fx[cpe_id][i][1] = sub( Q31, mdst_spectrum_e[i][1] ); move16(); -#ifndef SIMPLIFY_CORE_ENC - } - IF( EQ_16( nSubframes, NB_DIV ) ) - { -#endif Word16 max_e = s_max( orig_spectrum_e[i][0], orig_spectrum_e[i][1] ); scale_sig32( hMCT->p_orig_spectrum_long_fx[cpe_id][i], N_TCX10_MAX, sub( orig_spectrum_e[i][0], max_e ) ); // exp(max_e) scale_sig32( hMCT->p_orig_spectrum_long_fx[cpe_id][i] + N_TCX10_MAX, N_TCX10_MAX, sub( orig_spectrum_e[i][1], max_e ) ); // exp(max_e) @@ -532,135 +331,12 @@ ivas_error ivas_core_enc_fx( move16(); } -#ifdef SIMPLIFY_CORE_ENC stereo_tcx_enc_scale_buffers( sts[i], CPE_CHANNELS, Q_spec_old[i] ); -#else - IF( EQ_16( st->hTcxEnc->tcxMode, TCX_20 ) ) - { - Word16 e_max = s_max( st->hTcxEnc->spectrum_e[0], Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - L_spec = st->hTcxEnc->L_frameTCX; - move16(); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_long_fx + L_spec, sub( N_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - ELSE - { - Word16 e_max = s_max( s_max( st->hTcxEnc->spectrum_e[0], st->hTcxEnc->spectrum_e[1] ), Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - L_spec = shr( st->hTcxEnc->L_frameTCX, 1 ); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[0] + L_spec, sub( N_TCX10_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1], L_spec, sub( st->hTcxEnc->spectrum_e[1], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1] + L_spec, sub( ( N_MAX - N_TCX10_MAX ), L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - - st->hTcxEnc->spectrum_e[0] = st->hTcxEnc->spectrum_long_e; - move16(); - st->hTcxEnc->spectrum_e[1] = st->hTcxEnc->spectrum_long_e; - move16(); -#endif } } ELSE { -#ifdef SIMPLIFY_CORE_ENC -#if !defined( NONBE_FIX_ISSUE_2206 ) || defined( NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 ) - stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx ); -#else - stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx ); -#endif -#else - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - st = sts[i]; -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[i], L_INP, sub( Q1, Q_new[i] ) ); // Q0 -#endif - -#ifndef NONBE_FIX_ISSUE_2518 - test(); - IF( NE_16( st->element_mode, IVAS_CPE_DFT ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) - { - st->hTcxEnc->exp_buf_speech_ltp = st->exp_buf_speech_enc; - move16(); - } -#endif - shift = norm_arr( st->input_fx, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 - Q_min = add( st->q_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_inp, shift ) ); -#endif - scale_sig( st->input_fx, input_frame, sub( Q_min, st->q_inp ) ); - st->q_inp = Q_min; - move16(); - - shift = norm_arr( st->input_fx - input_frame, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 - Q_min = add( st->q_old_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_old_inp, shift ) ); -#endif - scale_sig( st->input_fx - input_frame, input_frame, sub( Q_min, st->q_old_inp ) ); - st->q_old_inp = Q_min; - move16(); - } - - Word16 Q_spec_old[2], L_spec; - Q_spec_old[0] = hCPE->hCoreCoder[0]->hTcxEnc->spectrum_long_e; - move16(); - Q_spec_old[1] = hCPE->hCoreCoder[1]->hTcxEnc->spectrum_long_e; - move16(); - -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx ); -#else - stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx ); -#endif - - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[i], L_INP, sub( Q_new[i], Q1 ) ); // Q_new[n] - 1 -#endif - st = sts[i]; - IF( EQ_16( st->hTcxEnc->tcxMode, TCX_20 ) ) - { - L_spec = st->hTcxEnc->L_frameTCX; - move16(); - Word16 e_max = s_max( st->hTcxEnc->spectrum_e[0], Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_long_fx + L_spec, sub( N_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - ELSE - { - L_spec = shr( st->hTcxEnc->L_frameTCX, 1 ); - Word16 e_max = s_max( s_max( st->hTcxEnc->spectrum_e[1], st->hTcxEnc->spectrum_e[0] ), Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[0] + L_spec, sub( N_TCX10_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1], L_spec, sub( st->hTcxEnc->spectrum_e[1], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1] + L_spec, sub( ( N_MAX - N_TCX10_MAX ), L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - - st->hTcxEnc->spectrum_e[0] = st->hTcxEnc->spectrum_long_e; - move16(); - st->hTcxEnc->spectrum_e[1] = st->hTcxEnc->spectrum_long_e; - move16(); - } -#endif } } ELSE IF( EQ_32( sts[0]->core_brate, SID_2k40 ) && EQ_32( sts[1]->core_brate, SID_2k40 ) ) @@ -704,19 +380,10 @@ ivas_error ivas_core_enc_fx( IF( st->hBWE_FD != NULL ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp = norm_arr( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k ); scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, tmp ); st->Q_old_wtda = add( st->Q_old_wtda, tmp ); move16(); -#else - Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( negate( 1 ), st->Q_old_wtda ) ); // Q(-1) - st->Q_old_wtda = -1; // This reset is required for resolving crash issue. Needs to be looked into further - move16(); - Scale_sig( st->hBWE_FD->old_input_lp_fx, NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS ), sub( sub( Q_new[n], 1 ), st->hBWE_FD->prev_Q_input_lp ) ); /* Q_new[n] - 1 */ - st->hBWE_FD->prev_Q_input_lp = sub( Q_new[n], 1 ); - move16(); -#endif } /*---------------------------------------------------------------------* @@ -737,11 +404,7 @@ ivas_error ivas_core_enc_fx( IF( GE_32( input_Fs, 16000 ) && LT_16( st->bwidth, SWB ) && st->hBWE_TD != NULL ) { /* Common pre-processing for WB TBE and WB BWE */ -#ifdef NONBE_FIX_ISSUE_2206 wb_pre_proc_fx( st, last_element_mode, new_inp_resamp16k_fx[n], hb_speech_fx, q_new_inp_resamp16k_fx[n] ); -#else - wb_pre_proc_fx( st, last_element_mode, new_inp_resamp16k_fx[n], hb_speech_fx ); -#endif } test(); @@ -749,20 +412,12 @@ ivas_error ivas_core_enc_fx( IF( EQ_16( st->extl, WB_TBE ) ) { /* WB TBE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_tbe_enc_fx( st, hb_speech_fx, q_new_inp_resamp16k_fx[n], bwe_exc_extended_fx[n], Q_new[n], voice_factors_fx[n], pitch_buf_fx[n] ); -#else - wb_tbe_enc_fx( st, hb_speech_fx, bwe_exc_extended_fx[n], Q_new[n], voice_factors_fx[n], pitch_buf_fx[n] ); -#endif } ELSE IF( EQ_16( st->extl, WB_BWE ) && n == 0 && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { /* WB BWE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_bwe_enc_fx( st, new_inp_resamp16k_fx[n], q_new_inp_resamp16k_fx[n] ); -#else - wb_bwe_enc_fx( st, new_inp_resamp16k_fx[n] ); -#endif } /*---------------------------------------------------------------------* @@ -770,7 +425,6 @@ ivas_error ivas_core_enc_fx( * SWB(FB) BWE encoding *---------------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 test(); IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) { @@ -787,40 +441,20 @@ ivas_error ivas_core_enc_fx( st->q_inp = tmp; move16(); } -#else - Word16 q_inp_orig; - q_inp_orig = st->q_inp; - move16(); - test(); - IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) - { - st->q_inp = -1; - st->q_old_inp = -1; - move16(); - move16(); - Scale_sig( st->input_fx - input_frame, shl( input_frame, 1 ), sub( st->q_inp, q_inp_orig ) ); - } -#endif new_swb_speech_fx_16 = new_swb_speech_buffer_fx_16 + STEREO_DFT_OVL_MAX; set16_fx( new_swb_speech_buffer_fx_16, 0, L_FRAME48k + STEREO_DFT_OVL_MAX ); shb_speech_fx = new_inp_resamp16k_fx[n]; /* reuse existing buffer: shb_speech[L_FRAME16k] */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 shb_speech_q = Q15; move16(); -#endif test(); IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) { /* Common pre-processing for SWB(FB) TBE and SWB(FB) BWE */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT shb_speech_q = st->hBWE_TD->old_speech_shb_q; move16(); swb_pre_proc_fx( st, new_swb_speech_fx_16, shb_speech_fx, &shb_speech_q, realBuffer_fx[n], imagBuffer_fx[n], q_re_im_buf[n], NULL, hCPE ); -#else - swb_pre_proc_fx( st, new_swb_speech_fx_16, shb_speech_fx, realBuffer_fx[n], imagBuffer_fx[n], q_re_im_buf[n], NULL, hCPE ); -#endif } ELSE IF( GE_32( input_Fs, 32000 ) ) { @@ -849,11 +483,7 @@ ivas_error ivas_core_enc_fx( Word16 Q_fb_exc; Word16 fb_exc_fx[L_FRAME16k]; -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_tbe_enc_fx( st, hStereoICBWE, shb_speech_fx, bwe_exc_extended_fx[n], voice_factors_fx[n], fb_exc_fx, &Q_fb_exc, Q_new[n], shb_speech_q, st->voicing_fx, pitch_buf_fx[n] ); -#else - swb_tbe_enc_fx( st, hStereoICBWE, shb_speech_fx, bwe_exc_extended_fx[n], voice_factors_fx[n], fb_exc_fx, &Q_fb_exc, Q_new[n], 0, st->voicing_fx, pitch_buf_fx[n] ); -#endif IF( EQ_16( st->extl, FB_TBE ) ) { @@ -865,16 +495,11 @@ ivas_error ivas_core_enc_fx( ELSE IF( EQ_16( st->extl, SWB_BWE ) || EQ_16( st->extl, FB_BWE ) ) { /* SWB(FB) BWE encoder */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_bwe_enc_fx( st, last_element_mode, old_inp_12k8_fx[n], old_inp_16k_fx[n], old_syn_12k8_16k_fx[n], new_swb_speech_fx_16, st->q_inp, shb_speech_fx, shb_speech_q, sub( Q_new[n], 1 ) ); -#else - swb_bwe_enc_fx( st, last_element_mode, old_inp_12k8_fx[n], old_inp_16k_fx[n], old_syn_12k8_16k_fx[n], new_swb_speech_fx_16, st->q_inp, shb_speech_fx, 0, sub( Q_new[n], 1 ) ); -#endif } Scale_sig( old_syn_12k8_16k_fx[n], L_FRAME16k, sub( Q1, Q_new[n] ) ); // Q0 -#ifdef NONBE_FIX_ISSUE_2206 test(); IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) { @@ -883,14 +508,6 @@ ivas_error ivas_core_enc_fx( st->q_inp = add( st->q_inp, 1 ); move16(); } -#else - IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) - { - Scale_sig( st->input_fx, input_frame, sub( q_inp_orig, st->q_inp ) ); - st->q_inp = q_inp_orig; - move16(); - } -#endif /*---------------------------------------------------------------------* * SWB DTX/CNG encoding @@ -902,11 +519,7 @@ ivas_error ivas_core_enc_fx( IF( st->hTdCngEnc != NULL && st->Opt_DTX_ON && ( GE_16( input_frame, L_FRAME32k ) || EQ_16( st->element_mode, IVAS_CPE_DFT ) ) ) { /* SHB DTX/CNG encoder */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_CNG_enc_fx( st, shb_speech_fx, shb_speech_q, old_syn_12k8_16k_fx[n] ); -#else - swb_CNG_enc_fx( st, shb_speech_fx, old_syn_12k8_16k_fx[n] ); -#endif } /*-------------------------------------------------------------------* @@ -919,11 +532,7 @@ ivas_error ivas_core_enc_fx( { stereo_icBWE_preproc_fx( hCPE, input_frame, new_swb_speech_buffer_fx_16 /*tmp buffer*/, st->q_inp ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT stereo_icBWE_enc_fx( hCPE, shb_speech_fx, shb_speech_q, new_swb_speech_buffer_fx_16, st->q_inp, voice_factors_fx[0] ); -#else - stereo_icBWE_enc_fx( hCPE, shb_speech_fx, new_swb_speech_buffer_fx_16, st->q_inp, voice_factors_fx[0] ); -#endif } /*---------------------------------------------------------------------* @@ -957,42 +566,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 77be7fe6ddeffe3b78136ebc404aa9a0beaa302b..cfadfe631aed0b5e4724b28211be838a306a3e4b 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,10 +9,6 @@ #include "prot_fx_enc.h" #include "ivas_prot_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#include "string.h" -#endif /*---------------------------------------------------------------* @@ -77,18 +45,14 @@ static Word16 get_zero_flag( const Word32 arr[], const Word16 len ) *--------------------------------------------------------------------*/ void pre_proc_front_ivas_fx( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const Word32 element_brate, /* i : SCE/CPE element bitrate Q0*/ - const Word16 nb_bits_metadata, /* i : number of metadata bits Q0*/ - const Word16 input_frame, /* i : frame length Q0*/ - const Word16 n, /* i : channel number Q0*/ - Word16 old_inp_12k8_fx[], /* o : buffer of old input signal (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ -#ifdef NONBE_FIX_ISSUE_2206 - Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ -#else - Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz Q_new-1*/ -#endif + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const Word32 element_brate, /* i : SCE/CPE element bitrate Q0*/ + const Word16 nb_bits_metadata, /* i : number of metadata bits Q0*/ + const Word16 input_frame, /* i : frame length Q0*/ + const Word16 n, /* i : channel number Q0*/ + Word16 old_inp_12k8_fx[], /* o : buffer of old input signal (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ + Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 *relE_fx, /* o : frame relative energy Q8*/ Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes Q12*/ @@ -211,15 +175,9 @@ void pre_proc_front_ivas_fx( Word16 sf_energySum[CLDFB_NO_CHANNELS_MAX]; Word16 Q_inp_const = -1; move16(); -#ifdef NONBE_FIX_ISSUE_2518 Word16 preemp_len; Word16 *preemp_start_idx = NULL; Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k /* = max( L_FRAME16k + STEREO_DFT_OVL_16k, L_FRAME16k + L_FILT16k + lMemRecalc_16k ) */]; -#else - Word16 headroom, preemp_len, inp_max; - Word16 *preemp_start_idx = NULL; - Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k /* = max( L_FRAME16k + STEREO_DFT_OVL_16k, L_FRAME16k + L_FILT16k + lMemRecalc_16k ) */], max_32; -#endif push_wmops( "pre_proc_front" ); /*------------------------------------------------------------------* @@ -350,7 +308,6 @@ void pre_proc_front_ivas_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_old_in = st->q_inp; move16(); @@ -358,13 +315,11 @@ void pre_proc_front_ivas_fx( Q_min = add( sub( 15, st->exp_old_inp_12k8 ), norm_arr( st->old_inp_12k8_fx, L_INP_MEM ) ); input_frame_full = shl( input_frame, 1 ); //(old frame input length + new frame input length) Q_min = s_min( Q_min, sub( add( L_norm_arr( st->input32_fx - input_frame, input_frame_full ), st->q_inp32 ), 16 ) ); -#ifdef NONBE_FIX_ISSUE_2206_TV1 /* Take into account resampling memory for Q_min, and 1 bit headroom for resampling overshoot. */ IF( NE_32( input_Fs, INT_FS_12k8 ) ) { Q_min = sub( s_min( Q_min, add( st->mem_q, norm_arr( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX ) ) ), Q1 ); } -#endif /* Limit Q_min to avoid rescale larger than 15 against Q-1 */ Q_min = s_min( Q14, Q_min ); Copy_Scale_sig_32_16_nosat( st->input32_fx - input_frame, st->input_fx - input_frame, input_frame_full, s_max( -31, sub( Q_min, st->q_inp32 ) ) ); // Q_min @@ -375,17 +330,6 @@ void pre_proc_front_ivas_fx( scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( st->q_inp, Q_old_in ) ); scale_sig( old_inp_16k_fx, L_INP, sub( st->q_inp, Q_old_in ) ); -#else - Q_min = add( sub( 15, st->exp_old_inp_12k8 ), norm_arr( st->old_inp_12k8_fx, L_INP_MEM ) ); - input_frame_full = shl( input_frame, 1 ); //(old frame input length + new frame input length) - Q_min = s_min( Q_min, sub( add( getScaleFactor32( st->input32_fx - input_frame, input_frame_full ), st->q_inp32 ), 16 ) ); - Q_min = s_max( -2, Q_min ); - Copy_Scale_sig_32_16( st->input32_fx - input_frame, st->input_fx - input_frame, input_frame_full, sub( Q_min, st->q_inp32 ) ); // Q_min - st->q_inp = Q_min; - move16(); - st->q_old_inp = Q_min; - move16(); -#endif L_look = L_LOOK_12k8; /* lookahead at 12.8kHz */ move16(); @@ -400,27 +344,15 @@ void pre_proc_front_ivas_fx( IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - STEREO_DFT_OVL_12k8, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#else - Copy_Scale_sig( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - STEREO_DFT_OVL_12k8, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_12k8_fx, old_inp_12k8_fx, sub( L_INP_MEM - L_FILT, lMemRecalc_12k8 ), sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#else - Copy_Scale_sig( st->old_inp_12k8_fx, old_inp_12k8_fx, sub( L_INP_MEM - L_FILT, lMemRecalc_12k8 ), sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - L_FILT, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#else - Copy_Scale_sig( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - L_FILT, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#endif } Copy( st->old_wsp_fx, old_wsp_fx, L_WSP_MEM ); /* exp(st->exp_old_wsp) */ @@ -484,38 +416,20 @@ void pre_proc_front_ivas_fx( * (if not available from downsampled DMX) *----------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX, sub( st->q_inp, st->mem_q ) ); /* st->q_inp */ st->mem_q = st->q_inp; move16(); -#else - Scale_sig( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX, sub( st->q_inp, st->mem_q ) ); /* st->q_inp */ -#endif test(); IF( EQ_16( element_mode, IVAS_SCE ) ) { new_inp_out_size = modify_Fs_fx( signal_in_fx, input_frame, input_Fs, new_inp_12k8_fx, INT_FS_12k8, st->mem_decim_fx_q_inp, ( st->max_bwidth == NB ), &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ - st->mem_q = st->q_inp; - move16(); -#endif + scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* q_inp */ -#else - Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* Q(-1) */ -#endif set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); new_inp_out_size = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_12k8_fx + L_FRAME, INT_FS_12k8, mem_decim_dummy_fx, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif + scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) { @@ -527,24 +441,12 @@ void pre_proc_front_ivas_fx( Word16 length_12k8 = NS2SA( INT_FS_12k8, L_MEM_RECALC_SCH_NS ); new_inp_out_size = modify_Fs_fx( signal_in_fx - lMemRecalc - length_inp, length_inp, input_Fs, new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, INT_FS_12k8, st->mem_decim_fx_q_inp, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif + scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ } new_inp_out_size = modify_Fs_fx( signal_in_fx - lMemRecalc, input_frame, input_Fs, new_inp_12k8_fx - lMemRecalc_12k8, INT_FS_12k8, st->mem_decim_fx_q_inp, ( st->max_bwidth == NB ), &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifndef NONBE_FIX_ISSUE_2206 - st->mem_q = st->q_inp; - move16(); -#endif - Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif + Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* st->q_inp */ + scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ IF( lMemRecalc > 0 ) { @@ -553,40 +455,17 @@ void pre_proc_front_ivas_fx( } set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); new_inp_out_size = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_12k8_fx + L_FRAME, INT_FS_12k8, mem_decim_dummy_fx, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 /* The scaling below can saturate if Q_new_inp <= -2 */ scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif } ELSE /* DFT stereo */ { /* update the FIR resampling filter memory, needed for switching to time-domain (FIR) resampling */ Copy( signal_in_fx + sub( input_frame, add( NS2SA_FX2( input_Fs, L_MEM_RECALC_NS ), 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ) ), st->mem_decim_fx_q_inp, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ -#ifndef NONBE_FIX_ISSUE_2206 - st->mem_q = st->q_inp; - move16(); - scale_sig( old_inp_12k8_fx, L_INP_MEM - STEREO_DFT_OVL_12k8, sub( Q_inp_const, st->q_inp ) ); - scale_sig( st->input_fx - input_frame, input_frame_full, sub( Q_inp_const, st->q_inp ) ); - Copy_Scale_sig( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX, sub( Q_inp_const, st->q_inp ) ); /* Q(-1) */ - // Scale_sig( st->mem_decim_fx, 2 * L_FILT_MAX, sub( Q_inp_const, st->q_inp ) ); /* Q(-1) */ - st->q_inp = Q_inp_const; - move16(); - st->q_old_inp = Q_inp_const; - move16(); -#endif } -#ifdef NONBE_FIX_ISSUE_2206 -#ifdef NONBE_FIX_ISSUE_2518 st->q_mem_decim_fx = add( st->q_inp, norm_arr( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX ) ); move16(); Copy_Scale_sig_nosat( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX, sub( st->q_mem_decim_fx, st->q_inp ) ); -#else - Copy( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX ); - st->q_mem_decim_fx = st->q_inp; - move16(); -#endif Word16 q_buf_speech_enc; @@ -609,50 +488,11 @@ void pre_proc_front_ivas_fx( { Copy_Scale_sig_nosat( new_inp_12k8_fx, st->buf_speech_enc + L_FRAME32k, L_FRAME, sub( q_buf_speech_enc, st->q_inp ) ); /* q_buf_speech_enc */ } -#else - IF( NE_16( Q_inp_const, st->q_inp ) ) - { - Copy_Scale_sig( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX, sub( Q_inp_const, st->q_inp ) ); /* Q(-1) */ - } - - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( -1, sub( 15, st->exp_buf_speech_enc ) ) ); /* Q(-1) */ - st->exp_buf_speech_enc = 16; - move16(); - - /* save input resampled at 12.8kHz, non-preemhasised */ - test(); - IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) - { - Copy_Scale_sig( new_inp_12k8_fx - STEREO_DFT_OVL_12k8, st->buf_speech_enc + L_FRAME32k - STEREO_DFT_OVL_12k8, L_FRAME + STEREO_DFT_OVL_12k8, sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */ - } - ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) - { - Copy_Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, st->buf_speech_enc + L_FRAME32k - lMemRecalc_12k8 - L_FILT, add( L_FRAME + L_FILT, lMemRecalc_12k8 ), sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */ - } - ELSE - { - Copy_Scale_sig( new_inp_12k8_fx, st->buf_speech_enc + L_FRAME32k, L_FRAME, sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */ - } -#endif /*------------------------------------------------------------------* * Perform fixed preemphasis (12.8 kHz signal) through 1 - g*z^-1 *-----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2518 -#ifdef NONBE_FIX_ISSUE_2206 - headroom = 0; - move16(); - if ( NE_32( input_Fs, st->sr_core ) ) - { - /* Increase headroom because of modify_Fs_fx() in ivas_core_pre_proc */ - headroom = add( headroom, 1 ); - } -#else - headroom = 2; - move16(); -#endif -#endif preemp_len = 0; move16(); @@ -748,7 +588,6 @@ void pre_proc_front_ivas_fx( move16(); st->mem_preemph_q = st->q_inp; move16(); -#ifdef NONBE_FIX_ISSUE_2518 Word16 shift = L_norm_arr( sig_out, preemp_len ); shift = s_min( shift, norm_arr( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ) ) ); shift = add( shift, st->q_inp ); @@ -767,59 +606,10 @@ void pre_proc_front_ivas_fx( *Q_new = s_min( shift, Q_MAX ); move16(); -#else - maximum_abs_32_fx( sig_out, preemp_len, &max_32 ); - inp_max = s_max( extract_h( max_32 ), 1 ); - Word16 shift = add( sub( norm_s( inp_max ), headroom ), st->q_inp ); -#ifdef NONBE_FIX_ISSUE_2206 - shift = s_min( shift, add( norm_arr( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ) ), st->q_inp ) ); - *Q_new = s_min( shift, Q_MAX ); - move16(); -#else - shift = s_max( shift, 0 ); - shift = s_min( shift, Q_MAX ); - minimum_fx( st->Q_max, L_Q_MEM, &Q_min ); - *Q_new = s_min( shift, Q_min ); - move16(); -#ifdef NONBE_FIX_ISSUE_2206 - IF( shr( inp_max, sub( st->q_inp, -1 ) ) == 0 ) -#else - IF( inp_max == 0 ) -#endif - { - IF( NE_16( st->last_coder_type, UNVOICED ) ) - { - *Q_new = s_min( *Q_new, 1 ); - move16(); - } - } - - FOR( i = L_Q_MEM - 1; i > 0; i-- ) - { - st->Q_max[i] = st->Q_max[i - 1]; - move16(); - } - st->Q_max[i] = shift; - move16(); -#endif -#endif - -#ifndef NONBE_FIX_ISSUE_2518 -#ifdef NONBE_FIX_ISSUE_2206 - /* Avoid saturation of resampling decimation buffer inside ivas_compute_core_buffers_fx(). */ - *Q_new = s_min( *Q_new, st->q_mem_decim16k_fx ); - /* Limit Q_new here to st->q_inp because inside ivas_compute_core_buffers_fx() st->input is rescaled to Q_new */ - *Q_new = s_min( *Q_new, st->q_inp ); -#endif - *Q_new = add( *Q_new, Q_inp_const ); - move16(); -#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 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( old_inp_16k_fx, L_INP, sub( *Q_new, st->q_inp ) ); /* Q_new */ -#endif + scale_sig( old_inp_16k_fx, L_INP, sub( *Q_new, st->q_inp ) ); /* Q_new */ cldfbScale.hb_scale = cldfbScale.lb_scale; move16(); @@ -945,11 +735,7 @@ void pre_proc_front_ivas_fx( IF( st->idchan == 0 && NE_16( element_mode, IVAS_CPE_MDCT ) ) { Word16 input_fx_tmp[480]; -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( st->input_fx, input_fx_tmp, shr( input_frame, 1 ), negate( st->q_inp ) ); /*scaling from st->q_inp to q0*/ -#else - Copy_Scale_sig( st->input_fx, input_fx_tmp, shr( input_frame, 1 ), negate( st->q_inp ) ); /*scaling from Q_inp_const to q0*/ -#endif bw_detect_fx( st, input_fx_tmp, NULL, enerBuffer_fx, sf_energySum, ivas_format, 0, 0 ); } @@ -1190,7 +976,6 @@ void pre_proc_front_ivas_fx( move16(); } -#ifdef FIX_BASOP_2517_CLICK_IN_OMASA_LTV Word16 inp_local[L_INP_12k8]; Word16 Q_local; Word16 offset = (Word16) ( inp_12k8_fx - old_inp_12k8_fx ); @@ -1207,9 +992,6 @@ void pre_proc_front_ivas_fx( { analy_lp_fx( inp_12k8_fx, L_FRAME, L_look, ener_fx, A_fx, epsP_h, epsP_l, lsp_new_fx, lsp_mid_fx, st->lsp_old1_fx, alw_pitch_lag_12k8, alw_voicing_fx, INT_FS_12k8, element_mode, i, *Q_new, Q_r ); } -#else - analy_lp_fx( inp_12k8_fx, L_FRAME, L_look, ener_fx, A_fx, epsP_h, epsP_l, lsp_new_fx, lsp_mid_fx, st->lsp_old1_fx, alw_pitch_lag_12k8, alw_voicing_fx, INT_FS_12k8, element_mode, i, *Q_new, Q_r ); -#endif FOR( Word16 idx = 0; idx < M + 1; idx++ ) { @@ -1493,21 +1275,6 @@ void 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, st->hSpMusClas->past_PS_Q ); /* Q0 */ -#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 @@ -1600,49 +1367,14 @@ void pre_proc_front_ivas_fx( IF( flag_16k_smc ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_old_inp_16k = sub( *Q_new, 1 ); move16(); Word16 Q_old_inp_12k8 = sub( *Q_new, 1 ); move16(); -#else - Word16 Q_old_inp_16k = -1; - move16(); - - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k ); - move16(); - - IF( st->hBWE_FD != NULL ) - { - Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( -1, st->Q_old_wtda ) ); /* Q(-1) */ - st->Q_old_wtda = -1; // This reset needs to be looked into - move16(); - } - st->mem_preemph_enc = shl( st->mem_preemph_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_mem_preemph_enc ) ) ); /* Q15 - Q_old_inp_16k */ - move16(); - st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); // Q_old_inp_16k - move16(); - st->exp_buf_wspeech_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc_pe, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc_pe = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc = sub( Q15, Q_old_inp_16k ); - move16(); - - Word16 Q_old_inp_12k8 = *Q_new; - move16(); -#endif /* Compute core-coder buffers at internal sampling rate */ ivas_compute_core_buffers_fx( st, NULL, old_inp_16k_fx, NULL, input_frame, IVAS_SCE /*last_element_mode*/, INT_FS_16k /*sr_core_tmp*/, ener_fx, A_fx, Aw_fx, epsP_fx, lsp_new_fx, lsp_mid_fx, Q_old_inp_16k, Q_r, Q_new ); -#ifdef NONBE_FIX_ISSUE_2206 IF( GT_16( *Q_new, Q_old_inp_12k8 ) ) { scale_sig( old_inp_16k_fx, L_INP, sub( Q_old_inp_12k8, *Q_new ) ); @@ -1654,47 +1386,21 @@ void pre_proc_front_ivas_fx( *Q_new = *Q_new; } move16(); -#endif *epsP_fx_q = add( Q_r[0], 1 ); move16(); -#ifndef NONBE_FIX_ISSUE_2206 - st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( 0, sub( Q15, st->exp_buf_wspeech_enc ) ) ); // Q0 - move16(); -#endif *Q_new = add( *Q_new, Q_inp_const ); // actual Q_new move16(); -#ifdef NONBE_FIX_ISSUE_2206 assert( ( *Q_new - 1 ) <= Q_old_inp_12k8 ); scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( sub( *Q_new, 1 ), Q_old_inp_12k8 ) ); /* Q_new-1 */ smc_dec = ivas_acelp_tcx20_switching_fx( st, st->speech_enc, sub( Q15, st->exp_buf_speech_enc ), st->wspeech_enc, sub( Q15, st->exp_buf_wspeech_enc ), non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); -#else - Scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( *Q_new, Q_old_inp_12k8 ) ); /* Q_new */ - - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( 0, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q0 */ - st->exp_buf_speech_enc = Q15; - move16(); - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( 0, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q0 */ - st->exp_buf_wspeech_enc = Q15; - move16(); - smc_dec = ivas_acelp_tcx20_switching_fx( st, st->speech_enc, 0, st->wspeech_enc, non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); /* Q0 */ -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 smc_dec = ivas_acelp_tcx20_switching_fx( st, inp_12k8_fx, *Q_new, wsp_fx, *q_old_wsp, non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); /* Q0 */ -#else - Scale_sig( old_wsp_fx, L_WSP, sub( *Q_new, *q_old_wsp ) ); /* Q_new */ - *q_old_wsp = *Q_new; - move16(); - Q_wsp = *Q_new; - move16(); - smc_dec = ivas_acelp_tcx20_switching_fx( st, inp_12k8_fx, *Q_new, wsp_fx, non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); /* Q0 */ -#endif } } /* Switch to ACELP for non-harmonic transient signals */ diff --git a/lib_enc/ivas_core_pre_proc_fx.c b/lib_enc/ivas_core_pre_proc_fx.c index 014ea9ea7c2b3780433f285da1ba9c87073d770e..316297bdc5957471faf9020d424d5ad66b96c9d1 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -47,31 +19,23 @@ *--------------------------------------------------------------------*/ void pre_proc_ivas_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 last_element_mode, /* i : last element mode Q0*/ - const Word32 element_brate, /* i : element bitrate Q0*/ - const Word32 last_element_brate, /* i : last element bitrate Q0*/ - const Word16 input_frame, /* i : frame length Q0*/ - Word16 old_inp_12k8_fx[], /* i/o: buffer of old input signal Q_new-1 */ -#ifdef NONBE_FIX_ISSUE_2206 - Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new */ -#else - Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new-1 */ -#endif - Word16 **inp_fx, /* o : ptr. to inp. signal in the current frame Q_new*/ - Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ - Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes Q12*/ - Word16 Aw_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes Q14*/ - Word32 epsP_fx[M + 1], /* i : LP prediction errors epsP_fx_q*/ - Word16 *epsP_fx_q, /* i : LP prediction errors */ - Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ - Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ -#ifdef NONBE_FIX_ISSUE_2206 - Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ - Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ -#else - Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_new-1*/ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 last_element_mode, /* i : last element mode Q0*/ + const Word32 element_brate, /* i : element bitrate Q0*/ + const Word32 last_element_brate, /* i : last element bitrate Q0*/ + const Word16 input_frame, /* i : frame length Q0*/ + Word16 old_inp_12k8_fx[], /* i/o: buffer of old input signal Q_new-1 */ + Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new */ + Word16 **inp_fx, /* o : ptr. to inp. signal in the current frame Q_new*/ + Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ + Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes Q12*/ + Word16 Aw_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes Q14*/ + Word32 epsP_fx[M + 1], /* i : LP prediction errors epsP_fx_q*/ + Word16 *epsP_fx_q, /* i : LP prediction errors */ + Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ + Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ + Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ + Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ Word16 *Voicing_flag, /* o : voicing flag for HQ FEC Q0*/ Word16 old_wsp_fx[], /* i : weighted input signal buffer e_old_wsp*/ const Word16 e_old_wsp, /* i : Q value of weighted input signal buffer */ @@ -81,14 +45,10 @@ void pre_proc_ivas_fx( const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/ const Word16 flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz Q0*/ Word32 enerBuffer_fx[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer e_enerBuffer */ -#ifdef SIMPLIFY_CORE_ENC - Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#else - const Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#endif - Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ - const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ - Word16 *Q_new /* i/o: Q factor of speech buffers */ + Word16 e_enerBuffer, /* i : Q value of energy buffer */ + Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ + const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ + Word16 *Q_new /* i/o: Q factor of speech buffers */ ) { Word16 L_look, element_mode, lMemRecalc_12k8; @@ -98,7 +58,6 @@ void pre_proc_ivas_fx( push_wmops( "pre_proc" ); -#ifdef SIMPLIFY_CORE_ENC /*----------------------------------------------------------------* * Scaling of buffers *----------------------------------------------------------------*/ @@ -117,7 +76,6 @@ void pre_proc_ivas_fx( Scale_sig( fft_buff_fx, ( 2 * L_FFT ), -1 ); // To create 1 headroom for addition of magnitude square spectrum // fft_buff_fx_exp = add(fft_buff_fx_exp,1); -#endif /*----------------------------------------------------------------* * Initialization @@ -554,18 +512,13 @@ void pre_proc_ivas_fx( inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look; -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_old_inp_16k = sub( *Q_new, 1 ); -#else - Word16 Q_old_inp_16k = -1; -#endif move16(); Word16 Q_r[2] = { 0 }; move16(); move16(); inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look; -#ifdef NONBE_FIX_ISSUE_2206 Word16 shift = norm_arr( st->old_inp_12k8_fx, L_INP_MEM ); scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); /* exp(st->exp_old_inp_12k8 - shift) */ st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift ); @@ -581,74 +534,28 @@ void pre_proc_ivas_fx( st->Q_old_wtda = add( st->Q_old_wtda, shift ); move16(); } -#else - Word16 shift = getScaleFactor16( st->old_inp_12k8_fx, L_INP_MEM ); - Scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); /* exp(st->exp_old_inp_12k8 - shift) */ - st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift ); - move16(); - - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q15 - st->exp_old_inp_16k */ - st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k ); - move16(); - - IF( st->hBWE_FD != NULL ) - { - Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( -1, st->Q_old_wtda ) ); /* -1Q */ - st->Q_old_wtda = -1; // This reset needs to be looked into - move16(); - } - - st->mem_preemph_enc = shl( st->mem_preemph_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_mem_preemph_enc ) ) ); /* Q15 - Q_old_inp_16k */ - move16(); - st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc_pe, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc_pe = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); // Q_old_inp_16k - move16(); - st->exp_buf_wspeech_enc = sub( Q15, Q_old_inp_16k ); - move16(); -#endif IF( !flag_16k_smc ) { Word16 Q_inp_12k8 = *Q_new; move16(); -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_inp_16k = *Q_new; move16(); -#else - Word16 Q_inp_16k; -#endif ivas_compute_core_buffers_fx( st, &inp_16k_fx, old_inp_16k_fx, new_inp_resamp16k_fx, input_frame, last_element_mode, sr_core_tmp, ener_fx, A_fx, Aw_fx, epsP_fx, lsp_new_fx, lsp_mid_fx, Q_old_inp_16k, Q_r, &Q_inp_16k ); IF( GT_16( Q_inp_16k, Q_inp_12k8 ) ) { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( old_inp_16k_fx, L_INP, sub( Q_inp_12k8, Q_inp_16k ) ); -#else - Scale_sig( old_inp_16k_fx, L_INP, sub( Q_inp_12k8, Q_inp_16k ) ); -#endif *Q_new = Q_inp_12k8; } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( Q_inp_16k, Q_inp_12k8 ) ); -#else - Scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( Q_inp_16k, Q_inp_12k8 ) ); -#endif *Q_new = Q_inp_16k; } move16(); -#ifdef NONBE_FIX_ISSUE_2206 IF( ( EQ_32( sr_core_tmp, INT_FS_16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) || ( GT_32( sr_core_tmp, INT_FS_16k ) ) ) { shift = norm_arr( new_inp_resamp16k_fx, L_FRAME16k ); @@ -659,7 +566,6 @@ void pre_proc_ivas_fx( move16(); } -#endif test(); IF( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) { @@ -672,7 +578,6 @@ void pre_proc_ivas_fx( IF( !( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) ) { /* update signal buffers */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp; tmp = add( norm_arr( new_inp_12k8_fx, L_FRAME ), sub( *Q_new, 1 ) ); tmp = s_min( tmp, add( norm_arr( st->buf_speech_enc_pe, st->L_frame ), sub( Q15, st->exp_buf_speech_enc_pe ) ) ); @@ -682,9 +587,6 @@ void pre_proc_ivas_fx( scale_sig( st->buf_speech_enc_pe + st->L_frame + L_FRAME, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k - st->L_frame - L_FRAME, sub( tmp, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); Copy_Scale_sig_nosat( new_inp_12k8_fx, st->buf_speech_enc_pe + st->L_frame, L_FRAME, sub( tmp, sub( *Q_new, 1 ) ) ); st->exp_buf_speech_enc_pe = sub( Q15, tmp ); -#else - Copy_Scale_sig( new_inp_12k8_fx, st->buf_speech_enc_pe + st->L_frame, L_FRAME, sub( sub( Q15, st->exp_buf_speech_enc_pe ), sub( *Q_new, Q1 ) ) ); -#endif Copy( st->buf_speech_enc + L_FRAME32k, st->buf_speech_enc + st->L_frame, L_FRAME ); test(); @@ -703,7 +605,6 @@ void pre_proc_ivas_fx( IF( st->tcxonly == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 // L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320 ); tmp = add( norm_arr( wsp_fx, L_FRAME + L_LOOK_12k8 ), sub( Q15, e_old_wsp ) ); tmp = s_min( tmp, add( norm_s( st->mem_wsp_enc ), sub( Q15, st->exp_buf_wspeech_enc ) ) ); @@ -716,21 +617,14 @@ void pre_proc_ivas_fx( st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( st->exp_buf_wspeech_enc, sub( Q15, tmp ) ) ); st->exp_buf_wspeech_enc = sub( Q15, tmp ); move16(); -#else - Copy( wsp_fx, st->wspeech_enc, L_FRAME + L_LOOK_12k8 ); -#endif } } IF( flag_16k_smc ) { -#ifdef NONBE_FIX_ISSUE_2206 *q_new_inp_resamp16k_fx = sub( Q15, st->exp_buf_speech_enc ); move16(); Copy( st->buf_speech_enc + L_FRAME16k, new_inp_resamp16k_fx, L_FRAME16k ); /* q_new_inp_resamp16k_fx */ -#else - Copy( st->buf_speech_enc + L_FRAME16k, new_inp_resamp16k_fx, L_FRAME16k ); /* Q_old_inp_16k */ -#endif } /*-----------------------------------------------------------------* @@ -789,13 +683,9 @@ void pre_proc_ivas_fx( *--------------------------------------------------------------------*/ void ivas_compute_core_buffers_fx( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 **inp16k_out_fx, /* o : ptr. to inp. signal in the current frame Q_new-1*/ -#ifdef NONBE_FIX_ISSUE_2206 - Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz in Q_old_inp_16k = Q_new, out Q_new-1 */ -#else - Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz Q_new-1*/ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + Word16 **inp16k_out_fx, /* o : ptr. to inp. signal in the current frame Q_new-1*/ + Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz in Q_old_inp_16k = Q_new, out Q_new-1 */ Word16 new_inp_resamp16k_out_fx[], /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_old_inp_16k*/ const Word16 input_frame, /* i : frame length Q0*/ const Word16 last_element_mode, /* i : last element mode Q0*/ @@ -822,33 +712,16 @@ void ivas_compute_core_buffers_fx( Word16 Q_tmp, mem_decim16k_size, size_modified; Word16 epsP_h[M + 1]; Word16 epsP_l[M + 1]; -#ifdef NONBE_FIX_ISSUE_2206 Word16 i, shift; -#else - Word16 i, shift, Q_min; -#endif -#ifdef NONBE_FIX_ISSUE_2518 Word16 preemp_len; Word16 *preemp_start_idx = NULL; Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k + L_FILT16k]; -#else - Word16 preemp_len, inp_max; - Word16 *preemp_start_idx = NULL; - Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k + L_FILT16k], max_32; -#endif -#ifdef NONBE_FIX_ISSUE_2206 assert( Q_old_inp_16k == ( *Q_new - 1 ) ); Copy_Scale_sig_nosat( st->input_fx - input_frame, input_buf_fx, input_frame, sub( Q_old_inp_16k, st->q_old_inp ) ); Copy_Scale_sig_nosat( st->input_fx, input_buf_fx + input_frame, input_frame, sub( Q_old_inp_16k, st->q_inp ) ); signal_in_fx = &input_buf_fx[input_frame]; /* Q_old_inp_16k */ -#else - Copy_Scale_sig( st->input_fx - input_frame, input_buf_fx, input_frame, sub( -1, st->q_old_inp ) ); - Copy_Scale_sig( st->input_fx, input_buf_fx + input_frame, input_frame, sub( -1, st->q_inp ) ); - - signal_in_fx = &input_buf_fx[input_frame]; /* st->q_inp */ -#endif input_Fs = st->input_Fs; /* Q0 */ move32(); @@ -896,27 +769,15 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - STEREO_DFT_OVL_16k, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q_old_inp_16k */ -#else - Copy( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - STEREO_DFT_OVL_16k ); /* Q_new - 1 */ -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_MEM_RECALC_16K - L_FILT16k, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q_old_inp_16k */ -#else - Copy( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_MEM_RECALC_16K - L_FILT16k ); /* Q_new - 1 */ -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_FILT16k, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q_old_inp_16k */ -#else - Copy( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_FILT16k ); /* Q_new - 1 */ -#endif } /*---------------------------------------------------------------* @@ -931,7 +792,6 @@ void ivas_compute_core_buffers_fx( /* no resampling needed, only delay adjustment to account for the FIR resampling delay */ delay = NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ); move16(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->mem_decim16k_fx + delay, new_inp_16k_fx, delay, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ Copy( signal_in_fx, new_inp_16k_fx + delay, input_frame ); /* Q_old_inp_16k */ // Copy_Scale_sig( signal_in_fx + input_frame - shl( delay, 1 ), st->mem_decim16k_fx, shl( delay, 1 ), sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ @@ -940,36 +800,21 @@ void ivas_compute_core_buffers_fx( scale_sig( st->mem_decim16k_fx, shl( delay, 1 ), Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Copy( st->mem_decim16k_fx + delay, new_inp_16k_fx, delay ); - Copy( signal_in_fx, new_inp_16k_fx + delay, input_frame ); /* st->q_inp */ - Copy( signal_in_fx + input_frame - shl( delay, 1 ), st->mem_decim16k_fx, shl( delay, 1 ) ); /* st->q_inp */ -#endif } ELSE IF( EQ_32( input_Fs, 32000 ) || EQ_32( input_Fs, 48000 ) ) { -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ -#endif + scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ size_modified = modify_Fs_fx( signal_in_fx, input_frame, input_Fs, new_inp_16k_fx, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif + scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Copy( st->mem_decim16k_fx, mem_decim16k_dummy_fx, 2 * L_FILT_MAX ); /* Q(-1) */ set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); size_modified = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Q_tmp = norm_arr( st->mem_decim16k_fx, mem_decim16k_size ); scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif } } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) @@ -980,7 +825,6 @@ void ivas_compute_core_buffers_fx( /* no resampling needed, only delay adjustment to account for the FIR resampling delay */ delay = NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ); move16(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->mem_decim16k_fx + delay, new_inp_16k_fx - add( lMemRecalc, sub( delay, L_FILT16k ) ), delay, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ Copy( signal_in_fx - lMemRecalc, new_inp_16k_fx - sub( lMemRecalc, L_FILT16k ), add( input_frame, lMemRecalc ) ); /* Q_old_inp_16k */ // Copy_Scale_sig( signal_in_fx + sub( sub( input_frame, lMemRecalc ), shl( delay, 1 ) ), st->mem_decim16k_fx, shl( delay, 1 ), sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ @@ -989,17 +833,10 @@ void ivas_compute_core_buffers_fx( scale_sig( st->mem_decim16k_fx, shl( delay, 1 ), Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Copy( st->mem_decim16k_fx + delay, new_inp_16k_fx - add( lMemRecalc, sub( delay, L_FILT16k ) ), delay ); /* Q(-1) */ - Copy( signal_in_fx - lMemRecalc, new_inp_16k_fx - sub( lMemRecalc, L_FILT16k ), add( input_frame, lMemRecalc ) ); /* st->q_inp */ - Copy( signal_in_fx + sub( sub( input_frame, lMemRecalc ), shl( delay, 1 ) ), st->mem_decim16k_fx, shl( delay, 1 ) ); /* st->q_inp */ -#endif } ELSE IF( EQ_32( input_Fs, 32000 ) || EQ_32( input_Fs, 48000 ) ) { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ -#endif /* reconstruct past segment of input signal when switching from MDCT stereo */ IF( EQ_16( last_element_mode, IVAS_CPE_MDCT ) /*|| st->idchan == 1*/ ) { @@ -1010,51 +847,32 @@ void ivas_compute_core_buffers_fx( Copy( signal_in_fx - lMemRecalc - length_inp - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc - length_inp, length_inp, input_Fs, new_inp_16k_fx - lMemRecalc_16k - length_16k, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif + scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ } size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc, input_frame, input_Fs, new_inp_16k_fx - lMemRecalc_16k, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif + scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Copy( st->mem_decim16k_fx, mem_decim16k_dummy_fx, 2 * L_FILT_MAX ); -#ifdef NONBE_FIX_ISSUE_2206 // Scale_sig( st->mem_decim16k_fx, mem_decim16k_size, sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ Q_tmp = norm_arr( st->mem_decim16k_fx, mem_decim16k_size ); scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#endif IF( lMemRecalc > 0 ) { size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc + input_frame, lMemRecalc, input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif + scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ } set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); size_modified = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif + scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ } } ELSE IF( st->idchan == 0 ) { /* update the FIR resampling filter memory, needed for switching to time-domain (FIR) resampling */ -#ifdef NONBE_FIX_ISSUE_2206 // Copy_Scale_sig( signal_in_fx + input_frame - NS2SA_FX2( input_Fs, L_MEM_RECALC_NS ) - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ mem_decim16k_size = 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ); move16(); @@ -1063,9 +881,6 @@ void ivas_compute_core_buffers_fx( scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Copy( signal_in_fx + input_frame - NS2SA_FX2( input_Fs, L_MEM_RECALC_NS ) - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ -#endif } /*------------------------------------------------* @@ -1085,7 +900,6 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( st->bwidth, WB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 // Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k ); Word16 wtda_q = s_min( add( st->Q_old_wtda, norm_arr( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k ) ), Q_old_inp_16k ); Copy_Scale_sig_nosat( new_inp_16k_fx - delay, st->hBWE_FD->old_input_wb_fx, delay, sub( -1, Q_old_inp_16k ) ); /* Scaling to Q(-1) */ @@ -1093,13 +907,6 @@ void ivas_compute_core_buffers_fx( Copy_Scale_sig_nosat( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k + delay, sub( STEREO_DFT_OVL_16k, delay ), sub( wtda_q, Q_old_inp_16k ) ); st->Q_old_wtda = wtda_q; move16(); -#else - Copy_Scale_sig( new_inp_16k_fx - delay, st->hBWE_FD->old_input_wb_fx, delay, negate( add( Q_old_inp_16k, 1 ) ) ); /* Scaling to Q(-1) */ - scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( Q_old_inp_16k, st->Q_old_wtda ) ); // st->Q_old_wtda->Q_old_inp_16k - Copy( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k + delay, sub( STEREO_DFT_OVL_16k, delay ) ); - st->Q_old_wtda = Q_old_inp_16k; - move16(); -#endif } } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) @@ -1110,7 +917,6 @@ void ivas_compute_core_buffers_fx( test(); IF( EQ_16( st->bwidth, WB ) && st->hBWE_FD != NULL ) { -#ifdef NONBE_FIX_ISSUE_2206 // Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k ); Word16 wtda_q = s_min( add( st->Q_old_wtda, norm_arr( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k ) ), Q_old_inp_16k ); Copy_Scale_sig_nosat( new_inp_16k_fx + L_FILT16k - delay, st->hBWE_FD->old_input_wb_fx, delay, sub( -1, Q_old_inp_16k ) ); /* Scaling to Q(-1) */ @@ -1118,13 +924,6 @@ void ivas_compute_core_buffers_fx( Copy_Scale_sig_nosat( new_inp_16k_fx - L_MEM_RECALC_16K, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k + delay, sub( L_MEM_RECALC_16K + L_FILT16k, delay ), sub( wtda_q, Q_old_inp_16k ) ); st->Q_old_wtda = wtda_q; move16(); -#else - Copy_Scale_sig( new_inp_16k_fx + L_FILT16k - delay, st->hBWE_FD->old_input_wb_fx, delay, negate( add( Q_old_inp_16k, 1 ) ) ); /* Scaling to Q(-1) */ - scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( Q_old_inp_16k, st->Q_old_wtda ) ); // st->Q_old_wtda->Q_old_inp_16k - Copy( new_inp_16k_fx - L_MEM_RECALC_16K, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k + delay, sub( L_MEM_RECALC_16K + L_FILT16k, delay ) ); - st->Q_old_wtda = Q_old_inp_16k; - move16(); -#endif } } ELSE IF( element_mode == IVAS_SCE ) @@ -1154,19 +953,11 @@ void ivas_compute_core_buffers_fx( test(); if ( st->tcxonly == 0 && !( ( EQ_16( element_mode, IVAS_CPE_TD ) && EQ_16( st->idchan, 1 ) ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph_enc = new_inp_16k_fx[L_frame_tmp - 1]; /* Q_old_inp_16k */ st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k ); -#else - st->mem_preemph_enc = new_inp_16k_fx[L_frame_tmp - 1]; /* Q(-1) */ -#endif move16(); } -#ifndef NONBE_FIX_ISSUE_2206 - *Q_new = 0; - move16(); -#endif test(); IF( EQ_32( sr_core, INT_FS_16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) @@ -1176,24 +967,15 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( new_inp_16k_fx - STEREO_DFT_OVL_16k + L_FRAME16k, st->inp_16k_mem_stereo_sw_fx, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, sub( -1, Q_old_inp_16k ) ); /* update for TD/DFT stereo switching Q(-1) */ -#else - Copy( new_inp_16k_fx - STEREO_DFT_OVL_16k + L_FRAME16k, st->inp_16k_mem_stereo_sw_fx, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); /* update for TD/DFT stereo switching Q(-1) */ -#endif st->mem_preemph16k_fx = st->mem_preemph16k_DFT_fx; /* Q(-1) */ move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_DFT_fx = shl( old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1], sub( -1, Q_old_inp_16k ) ); /* Q_old_inp_16k -> Q(-1) */ -#else - st->mem_preemph16k_DFT_fx = old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1]; /* Q_new - 1 */ -#endif move16(); IF( EQ_16( st->L_frame, L_FRAME16k ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 buf_speech_enc_q; buf_speech_enc_q = s_min( sub( Q15, st->exp_buf_speech_enc ), Q_old_inp_16k ); @@ -1203,21 +985,14 @@ void ivas_compute_core_buffers_fx( scale_sig( st->buf_speech_enc + L_FRAME16k + L_FRAME16k, L_PAST_MAX_32k + L_NEXT_MAX_32k, sub( buf_speech_enc_q, sub( Q15, st->exp_buf_speech_enc ) ) ); st->exp_buf_speech_enc = sub( Q15, buf_speech_enc_q ); move16(); -#else - Copy( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->buf_speech_enc + L_FRAME16k - STEREO_DFT_OVL_16k, L_FRAME16k + STEREO_DFT_OVL_16k ); /* Q(-1) */ -#endif } -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( Q_old_inp_16k, -1 ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx - STEREO_DFT_OVL_16k, sig_out, PREEMPH_FAC_16k, L_FRAME16k, &( st->mem_preemph16k_fx ) ); /* Q(-1) */ tmp_fx = st->mem_preemph16k_fx; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( tmp_fx, sub( -1, Q_old_inp_16k ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx - STEREO_DFT_OVL_16k + L_FRAME16k, sig_out + L_FRAME16k, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k, &tmp_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx - STEREO_DFT_OVL_16k; @@ -1227,33 +1002,21 @@ void ivas_compute_core_buffers_fx( } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( Q_old_inp_16k, -1 ) ); move16(); -#endif IF( EQ_16( last_element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_DFT_fx, sub( Q_old_inp_16k, -1 ) ); move16(); Copy_Scale_sig( st->inp_16k_mem_stereo_sw_fx, new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, sub( Q_old_inp_16k, -1 ) ); /* Q(-1) */ -#else - st->mem_preemph16k_fx = st->mem_preemph16k_DFT_fx; - move16(); - Copy( st->inp_16k_mem_stereo_sw_fx, new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); /* Q(-1) */ -#endif - preemph_copy_32fx2( new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), sig_out, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, &st->mem_preemph16k_fx ); /* Q(-1) */ + preemph_copy_32fx2( new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), sig_out, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, &st->mem_preemph16k_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); move16(); preemp_len = STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k; move16(); } -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_DFT_fx = shl( old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1], sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ -#else - st->mem_preemph16k_DFT_fx = old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1]; /* Q_new - 1 */ -#endif move16(); /* preemphasise past segment of input signal when switching from MDCT stereo */ @@ -1270,19 +1033,13 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( st->L_frame, L_FRAME16k ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( new_inp_16k_fx - lMemRecalc_16k, st->buf_speech_enc + sub( L_FRAME16k - L_FILT16k, lMemRecalc_16k ), add( lMemRecalc_16k, L_FRAME16k + L_FILT16k ), sub( sub( Q15, st->exp_buf_speech_enc ), Q_old_inp_16k ) ); /* Q_new - 1 */ -#else - Copy( new_inp_16k_fx - lMemRecalc_16k, st->buf_speech_enc + sub( L_FRAME16k - L_FILT16k, lMemRecalc_16k ), add( lMemRecalc_16k, L_FRAME16k + L_FILT16k ) ); /* Q_new - 1 */ -#endif } preemph_copy_32fx2( new_inp_16k_fx - lMemRecalc_16k, sig_out + preemp_len, PREEMPH_FAC_16k, L_FRAME16k, &( st->mem_preemph16k_fx ) ); /* Q(-1) */ tmp_fx = st->mem_preemph16k_fx; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( -1, Q_old_inp_16k ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx - lMemRecalc_16k + L_FRAME16k, sig_out + preemp_len + L_FRAME16k, PREEMPH_FAC_16k, lMemRecalc_16k + L_FILT16k, &tmp_fx ); /* Q(-1) */ IF( preemp_start_idx && preemp_len ) { @@ -1298,24 +1055,19 @@ void ivas_compute_core_buffers_fx( } ELSE IF( EQ_16( element_mode, IVAS_SCE ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( Q_old_inp_16k, -1 ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx, sig_out, PREEMPH_FAC_16k, L_FRAME16k, &( st->mem_preemph16k_fx ) ); /* Q(-1) */ tmp_fx = st->mem_preemph16k_fx; move16(); -#ifdef NONBE_FIX_ISSUE_2206 /* Saturation can occur. To avoid that the format of st->mem_preemph16k_fx needs to become variable. */ st->mem_preemph16k_fx = shl_sat( st->mem_preemph16k_fx, sub( -1, Q_old_inp_16k ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx + L_FRAME16k, sig_out + L_FRAME16k, PREEMPH_FAC_16k, L_FILT16k, &tmp_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx; preemp_len = L_FRAME16k + L_FILT16k; move16(); } -#ifdef NONBE_FIX_ISSUE_2518 shift = L_norm_arr( sig_out, preemp_len ); shift = s_min( shift, norm_arr( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ) ) ); shift = add( shift, Q_old_inp_16k ); @@ -1331,56 +1083,9 @@ void ivas_compute_core_buffers_fx( } *Q_new = s_min( shift, Q_MAX ); move16(); -#else - maximum_abs_32_fx( sig_out, preemp_len, &max_32 ); - inp_max = s_max( extract_h( max_32 ), 1 ); - -#ifdef NONBE_FIX_ISSUE_2206 - shift = add( norm_s( inp_max ), Q_old_inp_16k ); - shift = s_min( shift, add( norm_arr( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ) ), Q_old_inp_16k ) ); -#else - shift = sub( norm_s( inp_max ), 1 /* headroom */ ); -#endif - -#ifdef NONBE_FIX_ISSUE_2206 - *Q_new = s_min( shift, Q_MAX ); - move16(); -#else - shift = s_max( shift, 0 ); - shift = s_min( shift, Q_MAX ); - minimum_fx( st->Q_max_16k, L_Q_MEM, &Q_min ); - *Q_new = s_min( shift, Q_min ); - move16(); -#ifdef NONBE_FIX_ISSUE_2206 - IF( shr( inp_max, sub( Q_old_inp_16k, -1 ) ) == 0 ) -#else - IF( inp_max == 0 ) -#endif - { - IF( NE_16( st->last_coder_type, UNVOICED ) ) - { - *Q_new = s_min( *Q_new, 1 ); - move16(); - } - } - - FOR( i = L_Q_MEM - 1; i > 0; i-- ) - { - st->Q_max_16k[i] = st->Q_max_16k[i - 1]; - move16(); - } - st->Q_max_16k[i] = shift; - move16(); -#endif -#endif -#ifndef NONBE_FIX_ISSUE_2206 - Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, add( *Q_new, 1 ) ); - Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), *Q_new ); -#else Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( *Q_new, Q_old_inp_16k ) ); scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), sub( sub( *Q_new, 1 ), Q_old_inp_16k ) ); /* *Q_new-1 */ -#endif } ELSE /* keep memory up-to-date in case of bitrate switching */ { @@ -1391,18 +1096,10 @@ void ivas_compute_core_buffers_fx( } ELSE /* SCE */ { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( new_inp_16k_fx[L_frame_tmp - 1], sub( -1, Q_old_inp_16k ) ); /* Q(-1)) */ -#else - st->mem_preemph16k_fx = new_inp_16k_fx[L_frame_tmp - 1]; /* Q_new - 1 */ -#endif move16(); } -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_DFT_fx = st->mem_preemph16k_fx; /* Q(-1)) */ -#else - st->mem_preemph16k_DFT_fx = st->mem_preemph16k_fx; /* Q_new - 1 */ -#endif move16(); } @@ -1414,7 +1111,6 @@ void ivas_compute_core_buffers_fx( test(); IF( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 /* update signal buffers */ IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { @@ -1461,24 +1157,6 @@ void ivas_compute_core_buffers_fx( Copy_Scale_sig_nosat( new_inp_16k_fx, st->buf_speech_enc_pe + L_FRAME16k, L_FRAME16k, sub( tmp, sub( *Q_new, 1 ) ) ); st->exp_buf_speech_enc_pe = sub( Q15, tmp ); } -#else - /* update signal buffers */ - shift = negate( *Q_new ); - move16(); - IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) - { - Copy_Scale_sig( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->buf_speech_enc_pe + L_FRAME16k - STEREO_DFT_OVL_16k, L_FRAME16k + STEREO_DFT_OVL_16k, shift ); // Q-1 - } - ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) - { - Copy_Scale_sig( new_inp_16k_fx - lMemRecalc_16k, st->buf_speech_enc_pe + L_FRAME16k - lMemRecalc_16k - L_FILT16k, L_FRAME16k + lMemRecalc_16k + L_FILT16k, shift ); // Q-1 - } - ELSE - { - Copy( new_inp_resamp16k_fx, st->buf_speech_enc + L_FRAME16k, L_FRAME16k ); - Copy_Scale_sig( new_inp_16k_fx, st->buf_speech_enc_pe + L_FRAME16k, L_FRAME16k, shift ); // Q-1 - } -#endif /*--------------------------------------------------------------* * LPC analysis @@ -1508,13 +1186,10 @@ void ivas_compute_core_buffers_fx( /*--------------------------------------------------------------* * Compute Weighted Input *---------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( st->exp_buf_wspeech_enc, st->exp_buf_speech_enc_pe ) ); -#endif find_wsp_fx( A_fx, st->speech_enc_pe, st->wspeech_enc, &st->mem_wsp_enc, PREEMPH_FAC_16k, L_FRAME16k, L_LOOK_16k, L_SUBFR, Aw_fx, st->gamma, NB_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp; // L_FRAME16k + L_SUBFR / L_FRAME16k + L_NEXT_MAX_16k + 320 // L_FRAME16k + L_LOOK_16k @@ -1529,7 +1204,6 @@ void ivas_compute_core_buffers_fx( st->exp_buf_wspeech_enc = sub( Q15, tmp ); st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( st->exp_buf_speech_enc_pe, st->exp_buf_wspeech_enc ) ); move16(); -#endif } /*-----------------------------------------------------------------* @@ -1554,14 +1228,8 @@ void ivas_compute_core_buffers_fx( ELSE { lerp( st->old_inp_12k8_fx + L_INP_MEM - L_INP_MEM * 4 / 5, st->old_inp_16k_fx, L_INP_MEM, L_INP_MEM * 4 / 5 ); -#ifdef NONBE_FIX_ISSUE_2206 st->exp_old_inp_16k = st->exp_old_inp_12k8; move16(); -#else - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( -1 /* Q st->old_inp_16k_fx = -1 */, sub( 15, st->exp_old_inp_12k8 ) ) ); - st->exp_old_inp_16k = Q16; // Q-1 - move16(); -#endif } IF( inp16k_out_fx != NULL ) diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c index 9c845eb400fa2b3c81e21df8ec80810198f2917a..b661e8db6cbbefb1b6edf6f0c3715845fc6a39e5 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "wmc_auto.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-------------------------------------------------------------------* @@ -197,9 +166,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(); } @@ -553,9 +519,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 */ @@ -580,9 +543,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 */ @@ -755,9 +715,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 b43eb2142cf2286d9694736fa11da1ec159abfff..b4b850535ce5ae5cbd426c8f6422c5ec9a23ff01 100644 --- a/lib_enc/ivas_cpe_enc_fx.c +++ b/lib_enc/ivas_cpe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "prot_fx.h" #include "ivas_rom_com.h" #include "rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" @@ -166,12 +135,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 ); @@ -211,14 +174,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 ) ) ); @@ -270,19 +225,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 ); @@ -437,7 +379,6 @@ ivas_error ivas_cpe_enc_fx( shift = s_min( L_norm_arr( sts[0]->input_buff32_fx, input_frame_2 ), L_norm_arr( sts[1]->input_buff32_fx, input_frame_2 ) ); q_min = add( sts[0]->q_inp32, sub( shift, find_guarded_bits_fx( input_frame ) ) ); -#ifdef NONBE_FIX_ISSUE_2206 IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) ) { q_min = sub( q_min, 1 ); // Fixes spike artefact for IVAS_cod -stereo 32000 16 stvST16c+10dB.wav out.192 at sample 793800. Saturation somewhere ? @@ -446,10 +387,6 @@ ivas_error ivas_cpe_enc_fx( scale_sig32( sts[0]->input_buff32_fx, input_frame, sub( q_min, sts[0]->q_old_inp32 ) ); /* q_min */ scale_sig32( sts[1]->input_buff32_fx + input_frame, input_frame, sub( q_min, sts[1]->q_inp32 ) ); /* q_min */ scale_sig32( sts[0]->input_buff32_fx + input_frame, input_frame, sub( q_min, sts[0]->q_inp32 ) ); /* q_min */ -#else - scale_sig32( sts[1]->input_buff32_fx, input_frame_2, sub( q_min, sts[1]->q_inp32 ) ); /* q_min */ - scale_sig32( sts[0]->input_buff32_fx, input_frame_2, sub( q_min, sts[0]->q_inp32 ) ); /* q_min */ -#endif sts[0]->q_inp32 = sts[1]->q_inp32 = sts[0]->q_old_inp32 = sts[1]->q_old_inp32 = q_min; move16(); move16(); @@ -460,15 +397,10 @@ ivas_error ivas_cpe_enc_fx( shift = sub( add( L_norm_arr( sts[0]->input_buff32_fx, input_frame_2 ), sts[0]->q_inp32 ), 16 ); shift = s_min( shift, sub( add( L_norm_arr( sts[1]->input_buff32_fx, input_frame_2 ), sts[1]->q_inp32 ), 16 ) ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig32_16( sts[0]->input_buff32_fx, sts[0]->input_buff_fx, input_frame, sub( add( Q16, shift ), sts[0]->q_old_inp32 ) ); // shift Copy_Scale_sig32_16( sts[1]->input_buff32_fx, sts[1]->input_buff_fx, input_frame, sub( add( Q16, shift ), sts[1]->q_old_inp32 ) ); // shift Copy_Scale_sig32_16( sts[0]->input_buff32_fx + input_frame, sts[0]->input_buff_fx + input_frame, input_frame, sub( add( Q16, shift ), sts[0]->q_inp32 ) ); // shift Copy_Scale_sig32_16( sts[1]->input_buff32_fx + input_frame, sts[1]->input_buff_fx + input_frame, input_frame, sub( add( Q16, shift ), sts[1]->q_inp32 ) ); // shift -#else - Copy_Scale_sig32_16( sts[0]->input_buff32_fx, sts[0]->input_buff_fx, input_frame_2, sub( add( Q16, shift ), sts[0]->q_inp32 ) ); // shift - Copy_Scale_sig32_16( sts[1]->input_buff32_fx, sts[1]->input_buff_fx, input_frame_2, sub( add( Q16, shift ), sts[1]->q_inp32 ) ); // shift -#endif sts[0]->q_inp = sts[1]->q_inp = sts[0]->q_old_inp = sts[1]->q_old_inp = shift; move16(); move16(); @@ -483,18 +415,10 @@ ivas_error ivas_cpe_enc_fx( { Copy32( sts[n]->input32_fx, orig_input_fx32[n], input_frame ); /* sts->q_inp32 */ Copy( sts[n]->input_fx, orig_input_fx[n], input_frame ); /* sts->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 Q_orig_inp[n] = sts[n]->q_inp; Q_orig_inp32[n] = sts[n]->q_inp32; move16(); move16(); -#else - Scale_sig( orig_input_fx[n], input_frame, sub( -1, sts[n]->q_inp ) ); // Q(-1) - Q_orig_inp[n] = -1; - Q_orig_inp32[n] = sts[n]->q_inp32; - move16(); - move16(); -#endif IF( hCPE->hStereoICBWE != NULL ) { @@ -656,9 +580,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(); @@ -690,7 +611,6 @@ ivas_error ivas_cpe_enc_fx( hCPE->hStereoDft->Spd_R_smooth_fx_e = sub( hCPE->hStereoDft->Spd_R_smooth_fx_e, temp ); move16(); -#ifdef NONBE_FIX_ISSUE_2206 q_com = MAX_16; move16(); /* Align Q values of the signals that need to be aligned in stereo_td_channel_extrapolate_fx() */ @@ -714,36 +634,6 @@ ivas_error ivas_cpe_enc_fx( hCPE->q_input_mem[n] = q_com; move16(); } -#else - q_com = MAX_16; - move16(); - FOR( n = 0; n < CPE_CHANNELS; n++ ) - { - q_com = s_min( q_com, sub( add( L_norm_arr( sts[n]->input32_fx, input_frame ), sts[n]->q_inp32 ), 16 ) ); - q_com = s_min( q_com, sub( add( L_norm_arr( sts[n]->old_input_signal32_fx, input_frame ), sts[n]->q_old_inp32 ), 16 ) ); - q_com = s_min( q_com, add( norm_arr( hCPE->input_mem_fx[n], hCPE->hStereoDft->dft_ovl ), hCPE->q_input_mem[n] ) ); - - if ( EQ_16( q_com, Q15 ) ) - { - q_com = 0; - move16(); - } - } - FOR( n = 0; n < CPE_CHANNELS; n++ ) - { - Copy_Scale_sig_32_16( sts[n]->input32_fx, sts[n]->input_fx, input_frame, sub( q_com, sts[n]->q_inp32 ) ); - sts[n]->q_inp = q_com; - move16(); - - Copy_Scale_sig_32_16( sts[n]->old_input_signal32_fx, sts[n]->old_input_signal_fx, input_frame, sub( q_com, sts[n]->q_old_inp32 ) ); - sts[n]->q_old_inp = q_com; - move16(); - - scale_sig( hCPE->input_mem_fx[n], hCPE->hStereoDft->dft_ovl, sub( q_com, hCPE->q_input_mem[n] ) ); - hCPE->q_input_mem[n] = q_com; - move16(); - } -#endif stereo_dft_hybrid_ITD_flag_fx( hConfigDft, input_Fs, hCPE->hStereoDft->hItd->hybrid_itd_max ); @@ -762,7 +652,6 @@ ivas_error ivas_cpe_enc_fx( } ELSE IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 /* Make scale of L/R equal, required inside stereo_tdm_ener_analysis_fx()->Get_dt_lt_ener_fx() */ Q_min = s_min( sts[0]->q_inp, sts[1]->q_inp ); scale_sig( sts[0]->input_fx, input_frame, sub( Q_min, sts[0]->q_inp ) ); /* min Q of both channels */ @@ -771,14 +660,6 @@ ivas_error ivas_cpe_enc_fx( scale_sig( sts[1]->input_fx, input_frame, sub( Q_min, sts[1]->q_inp ) ); /* min Q of both channels */ sts[1]->q_inp = Q_min; move16(); -#else - Scale_sig( sts[0]->input_fx, input_frame, negate( sts[0]->q_inp ) ); /* Q0 */ - sts[0]->q_inp = 0; - move16(); - Scale_sig( sts[1]->input_fx, input_frame, negate( sts[1]->q_inp ) ); /* Q0 */ - sts[1]->q_inp = 0; - move16(); -#endif /* Determine the energy ratio between the 2 channels */ tdm_ratio_idx = stereo_tdm_ener_analysis_fx( ivas_format, hCPE, input_frame, &tdm_SM_or_LRTD_Pri, &tdm_ratio_idx_SM ); /* Q0 */ @@ -828,44 +709,6 @@ ivas_error ivas_cpe_enc_fx( sts[1]->exp_old_inp_12k8 = Q15; move16(); } - -#ifndef NONBE_FIX_ISSUE_2206 - q_min = sts[1]->q_old_inp; - move16(); - q_min = s_min( q_min, sts[1]->q_inp ); - q_min = s_min( q_min, sts[0]->q_old_inp ); - q_min = s_min( q_min, sts[0]->q_inp ); - q_min = s_min( q_min, hCPE->q_input_mem[0] ); - q_min = s_min( q_min, hCPE->q_input_mem[1] ); - - shift = norm_arr( sts[1]->old_input_signal_fx, input_frame ); - shift = s_min( shift, norm_arr( sts[1]->input_fx, input_frame ) ); - shift = s_min( shift, norm_arr( sts[0]->old_input_signal_fx, input_frame ) ); - shift = s_min( shift, norm_arr( sts[0]->input_fx, input_frame ) ); - shift = s_min( shift, norm_arr( hCPE->input_mem_fx[0], hCPE->hStereoMdct->hDft_ana->dft_ovl ) ); - shift = s_min( shift, norm_arr( hCPE->input_mem_fx[1], hCPE->hStereoMdct->hDft_ana->dft_ovl ) ); - - q_min = add( q_min, shift ); - - scale_sig( sts[1]->input_fx, input_frame, sub( q_min, sts[1]->q_inp ) ); /* q_min */ - scale_sig( sts[1]->old_input_signal_fx, input_frame, sub( q_min, sts[1]->q_old_inp ) ); /* q_min */ - scale_sig( sts[0]->input_fx, input_frame, sub( q_min, sts[0]->q_inp ) ); /* q_min */ - scale_sig( sts[0]->old_input_signal_fx, input_frame, sub( q_min, sts[0]->q_old_inp ) ); /* q_min */ - scale_sig( hCPE->input_mem_fx[0], hCPE->hStereoMdct->hDft_ana->dft_ovl, sub( q_min, hCPE->q_input_mem[0] ) ); /* q_min */ - scale_sig( hCPE->input_mem_fx[1], hCPE->hStereoMdct->hDft_ana->dft_ovl, sub( q_min, hCPE->q_input_mem[1] ) ); /* q_min */ - hCPE->q_input_mem[1] = q_min; - hCPE->q_input_mem[0] = q_min; - sts[1]->q_old_inp = q_min; - sts[0]->q_old_inp = q_min; - sts[1]->q_inp = q_min; - sts[0]->q_inp = q_min; - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); -#endif } stereo_td_itd_mdct_stereo_fx( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); @@ -896,7 +739,6 @@ ivas_error ivas_cpe_enc_fx( move16(); move16(); -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_inp32 = sts[0]->q_old_inp32; move16(); @@ -934,33 +776,8 @@ ivas_error ivas_cpe_enc_fx( move16(); sts[0]->q_old_inp = sub( sts[0]->q_old_inp32, Q16 ); move16(); -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL ); - - 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 - sts[0]->q_inp32 = Q15; - sts[0]->q_old_inp32 = Q15; - move16(); - move16(); - - // Normalise the input buffer from Q15 - Word16 input_norm, q_inp; //, common_q, fir_delay_len; - input_norm = L_norm_arr( sts[0]->input32_fx - input_frame, input_frame_2 ); - q_inp = sub( add( Q15, input_norm ), 16 ); - - // Rescale the old input, input and FIR delay section of input buffer - Copy_Scale_sig32_16( sts[0]->input32_fx - input_frame, sts[0]->input_fx - input_frame, input_frame_2, sub( add( Q16, q_inp ), Q15 ) ); // Q15 -> q_inp - - // Update the Q-factors - sts[0]->q_inp = q_inp; - move16(); - sts[0]->q_old_inp = q_inp; - move16(); -#endif /* iDFT & resampling to 12.8kHz internal sampling rate */ -#ifdef NONBE_FIX_ISSUE_2206 q_inp32 = sts[0]->q_inp32; move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[0] + L_INP_MEM, &q_inp32, &out_12k8_start_ind[0], &out_12k8_end_ind[0], 0, input_Fs, INT_FS_12k8, 0, NULL ); @@ -968,48 +785,28 @@ ivas_error ivas_cpe_enc_fx( Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], add( L_INP_MEM, out_12k8_start_ind[0] ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_12k8_fx[0] + L_INP_MEM + out_12k8_start_ind[0], old_inp_12k8_16fx[0] + L_INP_MEM + out_12k8_start_ind[0], sub( out_12k8_end_ind[0], out_12k8_start_ind[0] ), sub( sts[0]->q_inp, q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_12k8_fx[0] + L_INP_MEM + out_12k8_end_ind[0], old_inp_12k8_16fx[0] + L_INP_MEM + out_12k8_end_ind[0], s_max( 0, sub( L_INP_12k8 - L_INP_MEM, out_12k8_end_ind[0] ) ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // sts[0]->q_inp32->sts[0]->q_inp -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[0] + L_INP_MEM, &out_12k8_start_ind[0], &out_12k8_end_ind[0], 0, input_Fs, INT_FS_12k8, 0, NULL ); - Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], L_INP_12k8, -Q16 ); // Q-1 -#endif /* iDFT & resampling to 16kHz internal sampling rate for M channel */ IF( EQ_32( input_Fs, internal_Fs ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy32( sts[0]->input32_fx - STEREO_DFT_OVL_16k, old_inp_16k_fx[0] + L_INP_MEM - STEREO_DFT_OVL_16k, add( input_frame, STEREO_DFT_OVL_16k ) ); /* sts[0]->q_inp32 */ Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // q_inp32 -> sts[0]->q_inp -#else - Copy32( sts[0]->input32_fx - STEREO_DFT_OVL_16k, old_inp_16k_fx[0] + L_INP_MEM - STEREO_DFT_OVL_16k, add( input_frame, STEREO_DFT_OVL_16k ) ); /* sts[0]->q_inp32 */ - out_16k_start_ind = -STEREO_DFT_OVL_16k; - out_16k_end_ind = add( out_16k_start_ind, add( input_frame, STEREO_DFT_OVL_16k ) ); - move16(); - move16(); -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 q_inp32 = sts[0]->q_inp32; move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_16k_fx[0] + L_INP_MEM, &q_inp32, &out_16k_start_ind, &out_16k_end_ind, 0, input_Fs, internal_Fs, 0, NULL ); Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], add( L_INP_MEM, out_16k_start_ind ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_16k_fx[0] + L_INP_MEM + out_16k_start_ind, old_inp_16k_16fx[0] + L_INP_MEM + out_16k_start_ind, sub( out_16k_end_ind, out_16k_start_ind ), sub( sts[0]->q_inp, q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_16k_fx[0] + L_INP_MEM + out_16k_end_ind, old_inp_16k_16fx[0] + L_INP_MEM + out_16k_end_ind, s_max( 0, sub( L_INP - L_INP_MEM, out_16k_end_ind ) ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // sts[0]->q_inp32->sts[0]->q_inp -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_16k_fx[0] + L_INP_MEM, &out_16k_start_ind, &out_16k_end_ind, 0, input_Fs, internal_Fs, 0, NULL ); -#endif } -#ifndef NONBE_FIX_ISSUE_2206 - Copy_Scale_sig32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, 0 ); // Q15->Q-1 -#endif /* DFT Stereo: iDFT of residual signal at 8kHz sampling rate */ test(); IF( EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) && hCPE->hStereoDft->res_cod_mode[STEREO_DFT_OFFSET] ) { Copy_Scale_sig_16_32_no_sat( sts[1]->old_inp_12k8_fx, old_inp_12k8_fx[1], L_INP_MEM, 15 - 0 ); // Q15 -#ifdef NONBE_FIX_ISSUE_2206 q_inp32 = Q15; move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM, &q_inp32, &out_12k8_start_ind[1], &out_12k8_end_ind[1], 1, input_Fs, 8000, 0, NULL ); @@ -1024,15 +821,6 @@ ivas_error ivas_cpe_enc_fx( Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], add( L_INP_MEM, out_12k8_start_ind[1] ), sub( -1, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q-1 Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_INP_MEM + out_12k8_start_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_start_ind[1], sub( out_12k8_end_ind[1], out_12k8_start_ind[1] ), sub( -1, q_inp32 ) ); // q_inp32 -> Q-1 Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_INP_MEM + out_12k8_end_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_end_ind[1], s_max( 0, sub( L_INP_12k8 - L_INP_MEM, out_12k8_end_ind[1] ) ), sub( -1, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q-1 -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM, &out_12k8_start_ind[1], &out_12k8_end_ind[1], 1, input_Fs, 8000, 0, NULL ); - - /* update old input signal buffer */ - Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k, sts[1]->old_inp_12k8_fx, L_INP_MEM, 0 - 15 ); // Q0 - sts[1]->exp_old_inp_12k8 = Q15; - move16(); - Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], L_INP_12k8, -Q16 ); // Q-1 -#endif } /* no iDFT at input sampling rate for Side channel -> reset the buffer */ @@ -1044,9 +832,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 @@ -1335,14 +1120,7 @@ ivas_error ivas_cpe_enc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[1], old_inp_12k8_fx[1], L_INP_12k8, Q15 + 1 ); // Q(-1) -> Q15 -#else - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[i], old_inp_12k8_fx[i], L_INP_12k8, Q16 ); // Q(-1) -> Q15 - } -#endif stereo_dft_enc_res_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM - STEREO_DFT_OVL_8k, hCPE->hMetaData, &nb_bits, max_bits ); } @@ -1377,14 +1155,6 @@ ivas_error ivas_cpe_enc_fx( * Core Encoder *----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - FOR( n = 0; n < n_CoreChannels; n++ ) - { - Scale_sig( old_wsp_fx[n], L_WSP, sub( e_old_wsp[n], Q16 ) ); /* exp(16) */ - e_old_wsp[n] = 16; - move16(); - } -#endif IF( NE_32( ( error = ivas_core_enc_fx( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8_16fx, old_inp_16k_16fx, Q_new, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, q_re_im_buf, old_wsp_fx, e_old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ), IVAS_ERR_OK ) ) { return error; @@ -1461,12 +1231,6 @@ ivas_error ivas_cpe_enc_fx( Copy( Q_new, Q_new_out, CPE_CHANNELS ); } -#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 IVAS_ERR_OK; } @@ -1632,11 +1396,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 ) ) @@ -1737,23 +1497,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 391b5c65a801af4753044496129f456d7fb9ba4f..638275b531ec82467c5fdf06a9c16d1590ce87f3 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -194,16 +166,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(); @@ -227,46 +189,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(); @@ -307,16 +229,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 @@ -367,19 +279,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 */ @@ -477,18 +376,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 16934822576d785bb3402878939bafc2b3400403..6ca3dfa80ac7611688bc68566cfc5c7ff2a5577c 100644 --- a/lib_enc/ivas_dirac_enc_fx.c +++ b/lib_enc/ivas_dirac_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_enc_cov_handler_fx.c b/lib_enc/ivas_enc_cov_handler_fx.c index 2d652a68329b8a1aee4036f44c05b92b2f8cee9b..2f71e874ad60e8fe89669d46e36272496d2ed91e 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c index 2b2e26d0450104bfddb8cd6f412de427365196c7..5172b3e3a7bf9b0f4b48a092b645ee3410a22526 100644 --- a/lib_enc/ivas_enc_fx.c +++ b/lib_enc/ivas_enc_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "ivas_cnst.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" @@ -424,12 +393,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 ) @@ -690,12 +654,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 9a560e30fe4e91b53d7309fd6e461c56d06452ef..6bc74a4abbf9a0abaead008f63e9c0e0e4101f72 100644 --- a/lib_enc/ivas_entropy_coder_fx.c +++ b/lib_enc/ivas_entropy_coder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* @@ -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; @@ -173,11 +130,7 @@ static Word16 ivas_arith_encode_array_fx( pCum_freq = pArith->cum_freq[0]; /* Q0 */ } -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &as ); -#else - ari_start_encoding_14bits_ivas_fx( &as ); -#endif FOR( i = 0; i < in_len; i++ ) { diff --git a/lib_enc/ivas_front_vad_fx.c b/lib_enc/ivas_front_vad_fx.c index ddc01634e9252cd19513e519e477087cccb43d4b..e8e221064dcd6cca50fd0b356ca1d3b05c2a256c 100644 --- a/lib_enc/ivas_front_vad_fx.c +++ b/lib_enc/ivas_front_vad_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -176,13 +148,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 06df36fe5b260a211c6ed3829042b8a9f7ad2669..065d6c55e3d9437777cf4c4234e37890188d0d96 100644 --- a/lib_enc/ivas_init_enc_fx.c +++ b/lib_enc/ivas_init_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -40,9 +12,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "prot_fx_enc.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-------------------------------------------------------------------* @@ -328,12 +297,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(); @@ -526,12 +489,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 940cf63f8f09e228c326ea80eaa047578dc3596f..e5d8c107136a63db6344c2ad23179de79d6321de 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_ism_enc_fx.c b/lib_enc/ivas_ism_enc_fx.c index cd0b36f1eb911bfbd37239aea3824fef1cd0424b..dc83593527bfa72b6167c97301168aec9cb3c3d9 100644 --- a/lib_enc/ivas_ism_enc_fx.c +++ b/lib_enc/ivas_ism_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 @@ -446,11 +405,6 @@ ivas_error ivas_ism_enc_fx( test(); IF( !dtx_flag || ( dtx_flag && EQ_16( sce_id, st_ivas->hISMDTX->sce_id_dtx ) ) ) { -#ifndef NONBE_FIX_ISSUE_2206 - Scale_sig( old_wsp_fx[sce_id][0], L_WSP, sub( e_old_wsp[sce_id][0], Q16 ) ); /* exp(16) */ - e_old_wsp[sce_id][0] = 16; - move16(); -#endif IF( NE_32( ( error = ivas_core_enc_fx( hSCE, NULL, NULL, 1, old_inp_12k8_fx[sce_id], old_inp_16k_fx[sce_id], Q_new[sce_id], ener_fx[sce_id], A_fx[sce_id], Aw_fx[sce_id], epsP_fx[sce_id], epsP_fx_q[sce_id], lsp_new_fx[sce_id], lsp_mid_fx[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer_fx[sce_id], imagBuffer_fx[sce_id], &q_re_im_buf[sce_id], old_wsp_fx[sce_id], e_old_wsp[sce_id], loc_harm[sce_id], cor_map_sum_fx[sce_id], vad_flag_dtx[sce_id], enerBuffer_fx[sce_id], enerBuffer_fx_exp[sce_id], fft_buff_fx[sce_id], 0, ISM_FORMAT, 0 ) ), IVAS_ERR_OK ) ) { return error; @@ -496,19 +450,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 ff8a47f5eccdae09c0691ccf190909ebb8defa93..4dbd50c40d22baf477ef1f3ace1ec4990c0770fb 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -333,16 +305,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 5ec986ec75f9f28fdc8acac08f44b3129e00f7fd..37a75a7117c192ea7c493659f368ed8579d45d7b 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_lfe_enc_fx.c b/lib_enc/ivas_lfe_enc_fx.c index 8d3ef73f9a60f817838f2adf78aa0112a61bb00a..4c2dce89471ac4f068f0a3e50ced0ea6b6f6a851 100644 --- a/lib_enc/ivas_lfe_enc_fx.c +++ b/lib_enc/ivas_lfe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -66,11 +38,7 @@ static void ivas_lfe_arith_coding_fx( { max_value = ivas_lfe_num_ele_in_coder_models[quant_strategy][i]; move16(); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &as ); -#else - ari_start_encoding_14bits_ivas_fx( &as ); -#endif offset = imult1616( 4, i ); FOR( index = 0; index < num_ele_per_grp; index++ ) diff --git a/lib_enc/ivas_masa_enc_fx.c b/lib_enc/ivas_masa_enc_fx.c index 553073a2a72bef1273d432941b1d61f6f6af37f9..cef24389b955d836f945cd39e0438da77f7831ab 100644 --- a/lib_enc/ivas_masa_enc_fx.c +++ b/lib_enc/ivas_masa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_mc_param_enc_fx.c b/lib_enc/ivas_mc_param_enc_fx.c index f17bee69a9b53c0e65ed8094f6cd7a69de915a87..f34c47f9d516523cf93a07fa970dcb1b367dc4b7 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ // 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 ffead33272189327ff9baf765b54efbaca335217..d87fd26e79dbeaa0e1e17d939f0809ceeec804ca 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_rom_com.h" #include "ivas_rom_enc.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- diff --git a/lib_enc/ivas_mcmasa_enc_fx.c b/lib_enc/ivas_mcmasa_enc_fx.c index 0a6c3550dd554e10ec60645e122825efa5bd902b..0cff4c81de706647a11699eb8d279a0e8efde6b2 100644 --- a/lib_enc/ivas_mcmasa_enc_fx.c +++ b/lib_enc/ivas_mcmasa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mct_core_enc_fx.c b/lib_enc/ivas_mct_core_enc_fx.c index 5bc9c0682f0a96dc85708f384773f4b7a8558e62..efbb15df9ae2820045097a099b594323b65cfbed 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mct_enc_fx.c b/lib_enc/ivas_mct_enc_fx.c index 81a8f7942605fbabbe6aa7370ecee204587ed483..172cce5ec9c64dd381f449597d53b455c8f2da44 100644 --- a/lib_enc/ivas_mct_enc_fx.c +++ b/lib_enc/ivas_mct_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -615,14 +587,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 ); } @@ -801,14 +765,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 e150a1e4073fbfc8152022109f6c822e33d9fb27..d7461184c8e948b00466dc97fb814239b05a7e5d 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 bae3e6f55affe3b42b01e91c4543630fa4482801..3f50992292e42b9aec39c4e55d5ff6c93aff5dd8 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -1163,13 +1135,9 @@ static void compute_power_spec( *-------------------------------------------------------------------*/ void ivas_mdct_core_whitening_enc_fx( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ - Word16 *Q_new, /* i : new samples q */ -#else - Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q0*/ -#endif + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ + Word16 *Q_new, /* i : new samples q */ Word16 old_wsp_fx[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe Q6*/ Word32 *mdst_spectrum_long_fx[CPE_CHANNELS], /* o : buffer for MDST spectrum mdst_spectrum_e*/ @@ -1209,9 +1177,6 @@ void ivas_mdct_core_whitening_enc_fx( Word16 zero_side_flag[NB_DIV]; Word16 q_com, q_min; Word32 *mdst_spectrum_fx[CPE_CHANNELS][NB_DIV]; -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Word16 Q_new; -#endif Word16 q_windowedSignal[CPE_CHANNELS]; Word16 shift = 0; /* 0 for one subframe and 1 for two subframes*/ Word16 *speech; @@ -1236,12 +1201,6 @@ void ivas_mdct_core_whitening_enc_fx( move16(); move16(); -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - Scale_sig( new_samples_fx[i], L_INP, sub( Q1, Q_new_orig[i] ) ); // Q0 - } -#endif /*--------------------------------------------------------------* * Initialization @@ -1333,14 +1292,7 @@ void ivas_mdct_core_whitening_enc_fx( tcx_ltp_encode_ivas_fx( st, st->hTcxEnc->tcxMode, L_FRAME, old_wsp_fx[ch] + L_WSP_MEM + L_LOOK_12k8, NULL, old_wsp_fx[ch] + L_WSP_MEM + L_LOOK_12k8, T_op[ch], ¶m_core[ch][1 + NOISE_FILL_RANGES], <pBits[ch], NULL, 0, IVAS_CPE_MDCT ); -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 core_signal_analysis_high_bitrate_ivas_fx( new_samples_fx[ch] + L_INP_MEM, T_op[ch], NULL, NULL, st, tnsSize[ch], tnsBits[ch], param_core[ch], <pBits[ch], windowedSignal_fx[ch], st->L_frame, st->hTcxEnc->L_frameTCX, hCPE->last_element_mode, 0, mdst_spectrum_fx[ch], mdst_spectrum_e[ch], Q_new, &q_windowedSignal[ch] ); -#else - Q_new = 0; - move16(); - - core_signal_analysis_high_bitrate_ivas_fx( new_samples_fx[ch] + L_INP_MEM, T_op[ch], NULL, NULL, st, tnsSize[ch], tnsBits[ch], param_core[ch], <pBits[ch], windowedSignal_fx[ch], st->L_frame, st->hTcxEnc->L_frameTCX, hCPE->last_element_mode, 0, mdst_spectrum_fx[ch], mdst_spectrum_e[ch], &Q_new, &q_windowedSignal[ch] ); -#endif /* BWD in MDCT domain */ IF( NE_16( st->hTcxCfg->tcx_last_overlap_mode, TRANSITION_OVERLAP ) ) @@ -2509,13 +2461,6 @@ void ivas_mdct_core_whitening_enc_fx( } } -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - Scale_sig( new_samples_fx[i], L_INP, sub( Q_new_orig[i], Q1 ) ); // Q_new[] - 1 - } - -#endif pop_wmops(); return; } diff --git a/lib_enc/ivas_omasa_enc_fx.c b/lib_enc/ivas_omasa_enc_fx.c index 330dd40386f39f573d7fbfab0774f20164b7df48..9659e2c5334724e4b0b0ce50a94d2cd2136ea4d0 100644 --- a/lib_enc/ivas_omasa_enc_fx.c +++ b/lib_enc/ivas_omasa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include @@ -39,9 +11,6 @@ #include "ivas_rom_com.h" #include "ivas_rom_enc.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- @@ -912,10 +881,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(); @@ -935,31 +900,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 a71a8598495b807dc8e9d4c0c105e28a6e6da88e..f4c23fc5029be8079fd5cf36705a6c446a12b009 100644 --- a/lib_enc/ivas_osba_enc_fx.c +++ b/lib_enc/ivas_osba_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_enc/ivas_pca_enc_fx.c b/lib_enc/ivas_pca_enc_fx.c index d3c8d10717827a28f8d5ee04ae2ae5bf54402db2..9012ac89bcc78a622208858f99dc9dad16dcca24 100644 --- a/lib_enc/ivas_pca_enc_fx.c +++ b/lib_enc/ivas_pca_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c index f466654409f3de0c4f8d4d5b250d29314be839cb..b799ba86fa65820b24d2d60df49db3347e543ec0 100644 --- a/lib_enc/ivas_qmetadata_enc_fx.c +++ b/lib_enc/ivas_qmetadata_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -40,9 +12,6 @@ #include "ivas_stat_enc.h" #include "wmc_auto.h" #include "basop_util.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-----------------------------------------------------------------------* @@ -1146,23 +1115,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(); @@ -1970,9 +1930,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 5a9c3bb4f3ce83b3e7ff54f9709b812068ad853d..bf18e6a16b945b2e9f10591247be65e969a4fa65 100644 --- a/lib_enc/ivas_qspherical_enc_fx.c +++ b/lib_enc/ivas_qspherical_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_range_uni_enc_fx.c b/lib_enc/ivas_range_uni_enc_fx.c index 2efcf8f23243746735aff4a98aa96c2f8c146cbc..01164fe8b70f3f59c1fa53a9d6f2eda4d1c4aea0 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "ivas_prot_fx.h" diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h index 059eb67e7d32f6b1cdbaff88116f7094deba85fb..fc5cfa1c6e08497287cc947f6209bb9f5fac896e 100644 --- a/lib_enc/ivas_rom_enc.h +++ b/lib_enc/ivas_rom_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 514fb2cb3f9195d227f5c7b5f956e72c86008f4a..30ccb1618a527b33243fe84eee1e34485118b260 100644 --- a/lib_enc/ivas_rom_enc_fx.c +++ b/lib_enc/ivas_rom_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_sba_enc_fx.c b/lib_enc/ivas_sba_enc_fx.c index c2a63a2e03e89315b6e9d3faa3287b5820b0fedf..b3aff8d232153b506d33f68c021fc93607e47928 100644 --- a/lib_enc/ivas_sba_enc_fx.c +++ b/lib_enc/ivas_sba_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_sce_enc_fx.c b/lib_enc/ivas_sce_enc_fx.c index 400e2228442e90b0e69b72085c0504a9354d15e2..ebd2ab6bb16615b0fc5fa3ad8798c9074668be28 100644 --- a/lib_enc/ivas_sce_enc_fx.c +++ b/lib_enc/ivas_sce_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,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" @@ -153,13 +122,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(); @@ -233,10 +195,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 *----------------------------------------------------------------*/ @@ -353,11 +311,6 @@ ivas_error ivas_sce_enc_fx( * Encoder *----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - Scale_sig( old_wsp_fx[0], L_WSP, sub( e_old_wsp[0], Q16 ) ); // Q(15-16) - e_old_wsp[0] = Q16; - move16(); -#endif IF( NE_32( ( error = ivas_core_enc_fx( hSCE, NULL, NULL, 1, old_inp_12k8_fx, old_inp_16k_fx, Q_new, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, &q_re_im_buf, old_wsp_fx, e_old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, 0, ivas_format, flag_16k_smc ) ), IVAS_ERR_OK ) ) { return error; @@ -381,12 +334,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(); return IVAS_ERR_OK; diff --git a/lib_enc/ivas_sns_enc_fx.c b/lib_enc/ivas_sns_enc_fx.c index 7c10978d3058504afb39d9ff44b2216e1b31ff31..615a94ae6141dc2cd74662e61646b493d894eb5d 100644 --- a/lib_enc/ivas_sns_enc_fx.c +++ b/lib_enc/ivas_sns_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_spar_encoder_fx.c b/lib_enc/ivas_spar_encoder_fx.c index 3b65bc4389750420ec2a638fc222c3da263fcd24..9f8299a13a49c4da9d6a615f184edb4b49b6d7a4 100644 --- a/lib_enc/ivas_spar_encoder_fx.c +++ b/lib_enc/ivas_spar_encoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -39,9 +11,6 @@ #include "ivas_stat_com.h" #include "wmc_auto.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -736,14 +705,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; @@ -904,17 +865,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 ); diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c index 9bd2c17b381a593e6cf88d66b2e2cd28c1d1ad3b..db1e98f4d75369796a1906b576d5b23e387f9f98 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index c4e821202d81bc26fcc773e1a5572eb90ff2b2d8..09b0f13adfbb42c90c77186778ec5b5a7f087a56 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 @@ -276,12 +245,8 @@ typedef struct stereo_dft_enc_data_struct const Word16 *dft_trigo_16k_fx; const Word16 *dft_trigo_32k_fx; -#ifdef NONBE_FIX_ISSUE_2206 Word32 output_mem_res_8k_fx[STEREO_DFT_OVL_8k]; // output_mem_res_8k_q Word16 output_mem_res_8k_q; // Q15 -#else - Word32 output_mem_res_8k_fx[STEREO_DFT_OVL_8k]; // Q15 -#endif Word32 res_cod_NRG_M_fx[STEREO_DFT_BAND_MAX]; // Q(31 - res_cod_NRG_M_fx_e[]) Word16 res_cod_NRG_M_fx_e[STEREO_DFT_BAND_MAX]; @@ -298,7 +263,6 @@ typedef struct stereo_dft_enc_data_struct Word16 past_dot_prod_real_fx_e[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; Word32 past_dot_prod_imag_fx[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; // Q(31 - past_dot_prod_imag_fx_e[]) Word16 past_dot_prod_imag_fx_e[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; -#ifdef NONBE_FIX_ISSUE_2206 Word32 output_mem_dmx_fx[STEREO_DFT_OVL_MAX]; // output_mem_dmx_q Word32 output_mem_dmx_12k8_fx[STEREO_DFT_OVL_12k8]; // output_mem_dmx_12k8_q Word32 output_mem_dmx_16k_fx[STEREO_DFT_OVL_16k]; /*can hold 16, 12.8 or 32kHz signals*/ // output_mem_dmx_16k_q @@ -309,13 +273,6 @@ typedef struct stereo_dft_enc_data_struct Word16 output_mem_dmx_16k_q; /*can hold 16, 12.8 or 32kHz signals*/ // Q0 Word16 output_mem_dmx_32k_q; /*can hold 16, 12.8 or 32kHz signals*/ // Q0 Word16 output_mem_dmx_16k_shb_q; // Q0 -#else - Word32 output_mem_dmx_fx[STEREO_DFT_OVL_MAX]; // Q15 - Word32 output_mem_dmx_12k8_fx[STEREO_DFT_OVL_12k8]; // Q15 - Word32 output_mem_dmx_16k_fx[STEREO_DFT_OVL_16k]; /*can hold 16, 12.8 or 32kHz signals*/ // Q15 - Word32 output_mem_dmx_32k_fx[STEREO_DFT_OVL_32k]; /*can hold 16, 12.8 or 32kHz signals*/ // Q15 - Word32 output_mem_dmx_16k_shb_fx[STEREO_DFT_OVL_16k]; // Q15 -#endif Word16 input_mem_itd_fx[CPE_CHANNELS][STEREO_DFT_OVL_MAX]; Word16 q_input_mem_itd[CPE_CHANNELS]; Word32 gipd_fx[STEREO_DFT_ENC_DFT_NB]; // Q13 @@ -336,13 +293,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 */ @@ -1126,9 +1078,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; @@ -1344,15 +1293,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 bf54b690137c6f15191664fa0faca5e502bc125a..d83d317ad18aff17a4286bc82b5a3e929d144d95 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_classifier_fx.c b/lib_enc/ivas_stereo_classifier_fx.c index 621a00bd4b41784868b153a945ba844fa2c196f1..4438cc71c4d63deba6c7958059d19bfad8a7edf4 100644 --- a/lib_enc/ivas_stereo_classifier_fx.c +++ b/lib_enc/ivas_stereo_classifier_fx.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "prot_fx.h" #include "ivas_rom_com.h" #include "ivas_rom_enc.h" @@ -118,12 +87,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(); @@ -177,12 +142,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 ) ) { @@ -230,16 +189,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 ) ) { @@ -962,16 +911,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; } @@ -1104,16 +1043,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; } @@ -1264,16 +1193,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; } @@ -1512,16 +1431,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 c9f4fe9a1b5b06ff1510853bc0180f5a15c78699..23397464559d1fadf6db7c61506fb10ddeaf0a86 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 095b918ef85b6d0a96458616d69cadb16edf9745..80dcd138218d09408f49eda567736108eb3473a0 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -444,10 +416,8 @@ static void stereo_dft_enc_open_fx( move16(); set32_fx( hStereoDft->output_mem_dmx_32k_fx, 0, STEREO_DFT_OVL_32k ); -#ifdef NONBE_FIX_ISSUE_2206 hStereoDft->output_mem_dmx_32k_q = Q31; move16(); -#endif hStereoDft->dft_zp = extract_l( Mpy_32_32( input_Fs, 12079596 /* STEREO_DFT_ZP_MAX_ENC / 48000 in Q31 */ ) ); move16(); @@ -501,7 +471,6 @@ static void stereo_dft_enc_open_fx( set_zero_fx( hStereoDft->output_mem_dmx_16k_fx, STEREO_DFT_OVL_16k ); set_zero_fx( hStereoDft->output_mem_dmx_16k_shb_fx, STEREO_DFT_OVL_16k ); set_zero_fx( hStereoDft->output_mem_res_8k_fx, STEREO_DFT_OVL_8k ); -#ifdef NONBE_FIX_ISSUE_2206 hStereoDft->output_mem_dmx_q = Q31; move16(); hStereoDft->output_mem_dmx_12k8_q = Q31; @@ -512,7 +481,6 @@ static void stereo_dft_enc_open_fx( move16(); hStereoDft->output_mem_res_8k_q = Q31; move16(); -#endif /*Bands: find the number of bands, Nyquist freq. is not taken into account*/ /* NFFT_inner = STEREO_DFT_N_MAX_ENC * inner_frame_tbl[max_bwidth] / L_FRAME48k; */ @@ -1039,7 +1007,6 @@ void stereo_dft_enc_analyze_fx( move32(); } -#ifdef NONBE_FIX_ISSUE_2206 /* Align Q values of the signals that need to be aligned in stereo_td_channel_extrapolate_fx() */ FOR( n = 0; n < n_channels; n++ ) { @@ -1095,59 +1062,10 @@ void stereo_dft_enc_analyze_fx( scale_sig32( pDFT_R, NFFT, q_shift ); DFT_e[1] = sub( DFT_e[1], q_shift ); move16(); -#else - FOR( n = 0; n < n_channels; n++ ) - { - Scale_sig( &mem[n][0], dft_ovl, sub( sts[n]->q_inp, q_input_mem[n] ) ); // Q(sts[n]->q_inp) - q_input_mem[n] = sts[n]->q_inp; - move16(); - } - /*overlapping parts*/ - FOR( i = 0; i < dft_ovl; i++ ) - { - pDFT_L[( dft_zp + i )] = L_mult0( mem[0][i], pWin[i] ); - move32(); - pDFT_L[( ( ( dft_zp + N ) + dft_ovl ) - 1 - i )] = L_mult0( input[0][offset + N + dft_ovl - 1 - i], pWin[i] ); - move32(); - - pDFT_R[dft_zp + i] = L_mult0( mem[1][i], pWin[i] ); - move32(); - pDFT_R[( ( dft_zp + N ) + dft_ovl ) - 1 - i] = L_mult0( input[1][offset + N + dft_ovl - 1 - i], pWin[i] ); - move32(); - } - - /*middle part*/ - FOR( i = 0; i < N - dft_ovl; i++ ) - { - pDFT_L[dft_zp + dft_ovl + i] = L_shr( L_deposit_h( input[0][offset + dft_ovl + i] ), 1 ); - move32(); - - pDFT_R[dft_zp + dft_ovl + i] = L_shr( L_deposit_h( input[1][offset + dft_ovl + i] ), 1 ); - move32(); - } - DFT_e[0] = sub( 31, add( 15, sts[0]->q_inp ) ); - move16(); - DFT_e[1] = sub( 31, add( 15, sts[1]->q_inp ) ); - move16(); - - Word16 q_shift, guarded_bits; - guarded_bits = find_guarded_bits_fx( NFFT ); - - q_shift = sub( L_norm_arr( pDFT_L, NFFT ), guarded_bits ); - scale_sig32( pDFT_L, NFFT, q_shift ); - DFT_e[0] = sub( DFT_e[0], q_shift ); - move16(); - - q_shift = sub( L_norm_arr( pDFT_R, NFFT ), guarded_bits ); - scale_sig32( pDFT_R, NFFT, q_shift ); - DFT_e[1] = sub( DFT_e[1], q_shift ); - move16(); -#endif rfft_fx( pDFT_L, trigo_enc, NFFT, -1 ); rfft_fx( pDFT_R, trigo_enc, NFFT, -1 ); -#ifdef NONBE_FIX_ISSUE_2206 test(); test(); IF( hStereoDft != NULL && hStereoDft->hConfig->hybrid_itd_flag && hStereoDft->hItd->td_itd[STEREO_DFT_OFFSET] ) @@ -1169,32 +1087,6 @@ void stereo_dft_enc_analyze_fx( move16(); } } -#else - /* update pointers to overlap memory */ - FOR( n = 0; n < n_channels; n++ ) - { - mem[n] = &input[n][sub( N, dft_ovl )]; - } - test(); - test(); - IF( hStereoDft != NULL && hStereoDft->hConfig->hybrid_itd_flag && hStereoDft->hItd->td_itd[STEREO_DFT_OFFSET] ) - { - FOR( n = 0; n < n_channels; n++ ) - { - Scale_sig( hStereoDft->input_mem_itd_fx[n], dft_ovl, sub( sts[n]->q_inp, hStereoDft->q_input_mem_itd[n] ) ); // Q(sts[n]->q_inp) - hStereoDft->q_input_mem_itd[n] = sts[n]->q_inp; - move16(); - Copy( hStereoDft->input_mem_itd_fx[n], input_mem[n], dft_ovl ); - } - } - ELSE - { - FOR( n = 0; n < n_channels; n++ ) - { - Copy( input[n] + input_frame - dft_ovl, input_mem[n], dft_ovl ); - } - } -#endif pop_wmops(); return; @@ -1208,12 +1100,8 @@ void stereo_dft_enc_analyze_fx( Word32 stereo_dft_enc_synthesize_fx( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder stereo handle */ -#ifdef NONBE_FIX_ISSUE_2206 - Word32 *output_fx, /* i/o : output synthesis q_output */ - Word16 *q_output, /* i/o : output synthesis Q */ -#else - Word32 *output_fx, /* o : output synthesis Q15 */ -#endif + Word32 *output_fx, /* i/o : output synthesis q_output */ + Word16 *q_output, /* i/o : output synthesis Q */ Word16 *output_start_index, Word16 *output_end_index, const Word16 chan, /* i : channel number */ @@ -1229,9 +1117,7 @@ Word32 stereo_dft_enc_synthesize_fx( Word16 temp_exp; Word32 fac_fx; Word32 *mem_fx; -#ifdef NONBE_FIX_ISSUE_2206 Word16 *mem_q; -#endif const Word16 *trigo_fx; const Word32 *win_fx; const Word16 *win_ana_fx; @@ -1298,16 +1184,12 @@ Word32 stereo_dft_enc_synthesize_fx( IF( L_frame > 0 ) { mem_fx = hStereoDft->output_mem_dmx_16k_shb_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_16k_shb_q; -#endif } ELSE { mem_fx = hStereoDft->output_mem_dmx_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_q; -#endif } win_fx = hStereoDft->win_fx; win_ana_fx = hStereoDft->win_ana_fx; @@ -1333,9 +1215,7 @@ Word32 stereo_dft_enc_synthesize_fx( trigo_step = STEREO_DFT_TRIGO_SRATE_12k8_STEP; move16(); mem_fx = hStereoDft->output_mem_dmx_12k8_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_12k8_q; -#endif win_fx = hStereoDft->win_12k8_fx; win_ana_fx = hStereoDft->win_ana_12k8_fx; @@ -1362,18 +1242,14 @@ Word32 stereo_dft_enc_synthesize_fx( IF( L_frame > 0 ) { mem_fx = hStereoDft->output_mem_dmx_16k_shb_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_16k_shb_q; -#endif push_wmops( "DFT_synth_16k_shb" ); } ELSE { mem_fx = hStereoDft->output_mem_dmx_16k_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_16k_q; -#endif push_wmops( "DFT_synth_16k" ); } @@ -1399,9 +1275,7 @@ Word32 stereo_dft_enc_synthesize_fx( trigo_step = STEREO_DFT_TRIGO_SRATE_32k_STEP; move16(); mem_fx = hStereoDft->output_mem_dmx_32k_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_32k_q; -#endif win_fx = hStereoDft->win_32k_fx; win_ana_fx = hStereoDft->win_ana_32k_fx; @@ -1426,9 +1300,7 @@ Word32 stereo_dft_enc_synthesize_fx( trigo_step = STEREO_DFT_TRIGO_SRATE_8k_STEP; move16(); mem_fx = hStereoDft->output_mem_res_8k_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_res_8k_q; -#endif win_fx = hStereoDft->win_8k_fx; win_ana_fx = hStereoDft->win_ana_8k_fx; @@ -1452,9 +1324,7 @@ Word32 stereo_dft_enc_synthesize_fx( ovl = -1; /* to avoid compilation warning */ move16(); mem_fx = NULL; /* to avoid compilation warning */ -#ifdef NONBE_FIX_ISSUE_2206 mem_q = NULL; -#endif win_ana_fx = NULL; /* to avoid compilation warning */ } @@ -1595,7 +1465,6 @@ Word32 stereo_dft_enc_synthesize_fx( /*Reconstruct */ /*IFFT*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 mem_shift, tmp_shift, tmp_q; scal_fac = sub( L_norm_arr( tmp_fx, NFFT ), find_guarded_bits_fx( NFFT ) ); @@ -1643,46 +1512,6 @@ Word32 stereo_dft_enc_synthesize_fx( output_fx[offset + N + i] = L_add_sat( L_temp, ifft_deviation ); // *q_output move32(); } -#else - scal_fac = sub( 1, find_guarded_bits_fx( NFFT ) ); - scale_sig32( tmp_fx, NFFT, scal_fac ); // Q16 - rfft_fx( tmp_fx, trigo_enc_fx, NFFT, +1 ); - Scale_sig32( tmp_fx, NFFT, sub( sub( DFT_in_fx_e, scal_fac ), 16 ) ); // Q15 - - FOR( i = 0; i < ovl; i++ ) - { - // output[offset + i] = mem[i] + tmp[zp + i] * win[i]; - output_fx[offset + i] = L_add_sat( mem_fx[i], Mpy_32_32( tmp_fx[zp + i], win_fx[i] ) ); // Q15 - move32(); - // mem[i] = tmp[zp + N + i] * win[ovl - 1 - i]; - mem_fx[i] = Mpy_32_32( tmp_fx[zp + N + i], win_fx[ovl - 1 - i] ); // Q15 - move32(); - } - - /*Middle->Copy*/ - FOR( i = 0; i < N - ovl; i++ ) - { - // output_fx[offset + ovl + i] = tmp[zp + ovl + i]; - output_fx[offset + ovl + i] = tmp_fx[zp + ovl + i]; // Q15 - move32(); - } - - /*-----------------------------------------------------------------* - * Lookahead: redress signal - *-----------------------------------------------------------------*/ - - FOR( i = 0; i < ovl; i++ ) - { - Word32 ifft_deviation = tmp_fx[zp + N + ovl]; // Q15 - move32(); - // output[offset + N + i] = ( tmp[zp + N + i] - ifft_deviation ) / win_ana[ovl - 1 - i] + ifft_deviation; - Word16 L_temp_e; - Word32 L_temp = BASOP_Util_Divide3232_Scale_newton( L_sub_sat( tmp_fx[zp + N + i], ifft_deviation ), L_deposit_h( win_ana_fx[ovl - 1 - i] ), &L_temp_e ); - L_temp = L_shl_sat( L_temp, L_temp_e ); - output_fx[offset + N + i] = L_add_sat( L_temp, ifft_deviation ); // Q15 - move32(); - } -#endif *output_start_index = offset; move16(); @@ -3177,9 +3006,6 @@ void stereo_dft_enc_write_BS_fx( } } -#ifdef DEBUG_MODE_DFT_BITS - fprintf( ITD_bits, "%d ", *nb_bits ); -#endif /*------------------------------------------------------------------* * write Side gain indices @@ -3224,9 +3050,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(); @@ -3328,9 +3151,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 850b40f612a6d420a32494e8dfda26cc5617a523..7df941c07cf8bc1fe347e1324c717b6b7ea205a1 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -1492,13 +1464,8 @@ void stereo_dft_enc_compute_itd_fx( L_temp2_e = sub( 31, q_temp ); L_temp = Mpy_32_32( L_temp, L_temp2 ); L_temp_e = add( L_temp_e, L_temp2_e ); -#ifdef FIX_BASOP_2561_STEREO_DFT_ENC_COMPUTE_ITD sfm_R = BASOP_Util_Divide3232_Scale_newton( L_temp, sum_abs_R, &sfm_R_e ); sfm_R_e = add( sfm_R_e, sub( L_temp_e, sum_abs_R_e ) ); -#else - sfm_R = BASOP_Util_Divide3232_Scale_newton( L_temp, sum_abs_R, &sfm_L_e ); - sfm_R_e = add( sfm_L_e, sub( L_temp_e, sum_abs_R_e ) ); -#endif // sfm_R = L_shl_r( sfm_R, sfm_R_e ); // Q31 sfm_R = L_shl_sat( sfm_R, sfm_R_e ); // Q31 } @@ -1691,11 +1658,7 @@ void stereo_dft_enc_compute_itd_fx( hStereoDft->currentNumUpdates = add( hStereoDft->currentNumUpdates, 1 ); move16(); -#ifdef FIX_BASOP_2561_STEREO_DFT_ENC_COMPUTE_ITD FOR( i = 1; i < NFFT / 2; i++ ) -#else - FOR( i = 1; i < NFFT / 4; i++ ) -#endif { /* Low pass filter cross L/R power spectrum */ // hStereoDft->xspec_smooth[2 * i] = ( 1.f - cng_xcorr_filt ) * hStereoDft->xspec_smooth[2 * i] + cng_xcorr_filt * xcorr[2 * i]; diff --git a/lib_enc/ivas_stereo_dft_td_itd_fx.c b/lib_enc/ivas_stereo_dft_td_itd_fx.c index 4a643aec88d2e2fc0547e7b0867163c15cff167f..fe35201bca61ec7e1efa0248909ae3623b1c0602 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -304,7 +276,6 @@ static void stereo_td_channel_extrapolate_fx( r_l[0] = s_max( r_l[0], 1 ); move16(); flag = E_LPC_lev_dur_fx( r_h, r_l, A, NULL, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER, NULL ); -#ifdef NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION const Word16 headroom = sub( 0, norm_arr( A, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER + 1 ) ); /* headroom to avoid saturation of LPC synthesis */ Word16 q_A = sub( Q14, norm_s( A[0] ) ); Word16 q_residual = add( sub( q_shift, norm_s( A[0] ) ), sub( 1, headroom ) ); @@ -313,9 +284,6 @@ static void stereo_td_channel_extrapolate_fx( scale_sig( shift_input, input_frame, sub( s_min( q_shift, q_synthesis ), q_shift ) ); scale_sig( shift_combined, add( input_frame, input_frame ), sub( s_min( q_shift, q_synthesis ), q_shift ) ); q_shift = s_min( q_shift, q_synthesis ); -#else - Copy_Scale_sig( A, A, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER + 1, sub( norm_s( A[0] ), 2 ) ); -#endif IF( EQ_16( flag, 1 ) ) { g_lpc = 0; @@ -324,11 +292,7 @@ static void stereo_td_channel_extrapolate_fx( ELSE { /* get the residual */ -#ifdef NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION fir_fx( shift_combined + input_frame + size_ovl - itd_shift - STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, A, residual, mem_zero, STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER, 0, sub( Q15, q_A ) ); -#else - fir_fx( shift_combined + input_frame + size_ovl - itd_shift - STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, A, residual, mem_zero, STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER, 0, 3 ); -#endif /* extend the residual */ /* to prevent out of bound reading */ diff --git a/lib_enc/ivas_stereo_dmx_evs_fx.c b/lib_enc/ivas_stereo_dmx_evs_fx.c index e7d359059daf2528a54fc74ca2c0e459458795e6..fa68e4db9c8ef3553d8846828639df9222a32c39 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_eclvq_enc_fx.c b/lib_enc/ivas_stereo_eclvq_enc_fx.c index e4c28a12b24bdbb40d929a87e699828e86178968..12cee01b68a170627d8367fdadb9f57538525efb 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 234652072aafb5da36bdc5e843e522bd6928ad00..aecb530c24c79fa78b0af58882a8b0828af91fd8 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_icbwe_enc_fx.c b/lib_enc/ivas_stereo_icbwe_enc_fx.c index 9564b5def75edcd08bbe900dd154651d9194c15d..8cdb457319ee32b6cbf427c2b7dd83c86dc7a9cb 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -612,16 +584,12 @@ static void icbwe_dft_stereo_param_fx( *-------------------------------------------------------------------*/ void stereo_icBWE_enc_fx( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel shb_speech_ref_q*/ const Word16 shb_speech_ref_q, /* i : SHB speech ref channel Q */ -#else - const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel Q0*/ -#endif - Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ - Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ - const Word16 *voice_factors_fx16 /* i : voicing factors Q15 */ + Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ + Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ + const Word16 *voice_factors_fx16 /* i : voicing factors Q15 */ ) { Word16 i, j, k, nbSubFr; @@ -652,11 +620,7 @@ void stereo_icBWE_enc_fx( shb_speech_ref_e = add( getScaleFactor16( shb_speech_ref_fx16, L_FRAME16k ), Q16 ); Copy_Scale_sig_16_32_no_sat( shb_speech_ref_fx16, shb_speech_ref_fx, L_FRAME16k, shb_speech_ref_e ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT shb_speech_ref_e = sub( sub( Q31, shb_speech_ref_e ), shb_speech_ref_q ); -#else - shb_speech_ref_e = Q31 - shb_speech_ref_e; -#endif shb_speech_nonref_e = Q15 - shb_speech_nonref_e; Copy_Scale_sig_16_32_no_sat( shb_speech_nonref_fx_16, shb_speech_nonref_fx, L_FRAME48k + STEREO_DFT_OVL_MAX, Q16 ); // q_new_swb_speech_buffer+st->q_inp - 16 - > q_new_swb_speech_buffer+st->q_inp diff --git a/lib_enc/ivas_stereo_mdct_core_enc_fx.c b/lib_enc/ivas_stereo_mdct_core_enc_fx.c index f1de85142e214636792ac0ec2e2e2f26ec2dd830..9018f34d0cca1542598f59606da4a39f6359c28a 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -128,13 +100,9 @@ static void sync_tcx_mode_fx( *-------------------------------------------------------------------*/ void stereo_mdct_core_enc_fx( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ Word16 *Q_new, -#else - Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Q0*/ -#endif Word16 old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k] /* o : floating pitch for each subframe Q6*/ ) @@ -201,7 +169,6 @@ void stereo_mdct_core_enc_fx( signal_bits = hBstr->nb_bits_tot; move16(); -#ifdef SIMPLIFY_CORE_ENC Word16 shift, Q_min, Q_spec_old[2]; Word16 input_frame = extract_l( Mpy_32_32( sts[0]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ); // Q0 @@ -214,21 +181,13 @@ void stereo_mdct_core_enc_fx( st = sts[i]; shift = norm_arr( st->input_fx, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 Q_min = add( st->q_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_inp, shift ) ); -#endif scale_sig( st->input_fx, input_frame, sub( Q_min, st->q_inp ) ); st->q_inp = Q_min; move16(); shift = norm_arr( st->input_fx - input_frame, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 Q_min = add( st->q_old_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_old_inp, shift ) ); -#endif scale_sig( st->input_fx - input_frame, input_frame, sub( Q_min, st->q_old_inp ) ); st->q_old_inp = Q_min; move16(); @@ -239,7 +198,6 @@ void stereo_mdct_core_enc_fx( Q_spec_old[1] = sts[1]->hTcxEnc->spectrum_long_e; move16(); -#endif /*--------------------------------------------------------------* * Initialization *---------------------------------------------------------------*/ @@ -288,14 +246,8 @@ void stereo_mdct_core_enc_fx( move16(); } -#ifdef SIMPLIFY_CORE_ENC Word16 q_com = s_min( s_min( add( sts[0]->q_inp, getScaleFactor16( sts[0]->input_fx, add( input_frame, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[0]->q_old_inp, getScaleFactor16( sts[0]->old_input_signal_fx, input_frame ) ) ), s_min( add( sts[1]->q_inp, getScaleFactor16( sts[1]->input_fx, add( input_frame, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[1]->q_old_inp, getScaleFactor16( sts[1]->old_input_signal_fx, input_frame ) ) ) ); -#else - Word16 len = extract_l( Mpy_32_32( sts[0]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ); - Word16 q_com = s_min( s_min( add( sts[0]->q_inp, getScaleFactor16( sts[0]->input_fx, add( len, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[0]->q_old_inp, getScaleFactor16( sts[0]->old_input_signal_fx, len ) ) ), - s_min( add( sts[1]->q_inp, getScaleFactor16( sts[1]->input_fx, add( len, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[1]->q_old_inp, getScaleFactor16( sts[1]->old_input_signal_fx, len ) ) ) ); -#endif q_com = sub( q_com, Q1 ); FOR( ch = 0; ch < CPE_CHANNELS; ch++ ) { @@ -320,13 +272,8 @@ void stereo_mdct_core_enc_fx( sts[ch]->hTcxEnc->tns_ms_flag[1] = 0; move16(); -#ifdef SIMPLIFY_CORE_ENC scale_sig( sts[ch]->input_fx, add( input_frame, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ), sub( q_com, sts[ch]->q_inp ) ); /* q_com */ scale_sig( sts[ch]->old_input_signal_fx, input_frame, sub( q_com, sts[ch]->q_old_inp ) ); /* q_com */ -#else - scale_sig( sts[ch]->input_fx, add( extract_l( Mpy_32_32( sts[ch]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ), NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ), sub( q_com, sts[ch]->q_inp ) ); /* q_com */ - scale_sig( sts[ch]->old_input_signal_fx, extract_l( Mpy_32_32( sts[ch]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ), sub( q_com, sts[ch]->q_old_inp ) ); /* q_com */ -#endif sts[ch]->q_old_inp = q_com; move16(); sts[ch]->q_inp = q_com; @@ -341,13 +288,8 @@ void stereo_mdct_core_enc_fx( * - TNS *---------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 ivas_mdct_core_whitening_enc_fx( hCPE, new_samples, Q_new, old_wsp, pitch_buf_fx, p_mdst_spectrum_long_fx, tnsBits, p_orig_spectrum_long_fx, tnsSize, p_param, hBstr, 0, CPE_CHANNELS, mdst_spectrum_e, orig_spectrum_e ); -#else - ivas_mdct_core_whitening_enc_fx( hCPE, new_samples, old_wsp, pitch_buf_fx, p_mdst_spectrum_long_fx, - tnsBits, p_orig_spectrum_long_fx, tnsSize, p_param, hBstr, 0, CPE_CHANNELS, mdst_spectrum_e, orig_spectrum_e ); -#endif FOR( i = 0; i < CPE_CHANNELS; i++ ) { @@ -772,7 +714,6 @@ void stereo_mdct_core_enc_fx( ivas_mdct_quant_coder_fx( hCPE, tnsBits, tnsSize, p_param, 0 ); -#ifdef SIMPLIFY_CORE_ENC /*--------------------------------------------------------------------------------* * Scaling of buffers *--------------------------------------------------------------------------------*/ @@ -782,7 +723,6 @@ void stereo_mdct_core_enc_fx( stereo_tcx_enc_scale_buffers( sts[i], CPE_CHANNELS, Q_spec_old[i] ); } -#endif pop_wmops(); return; diff --git a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c index e2c5303f72d1720c80f494f68ebf69a9066881a8..f34ec69bfb9439f9380daac566ffc1dc23df65be 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 13be061f8972d9cdda0646e4e5b56a8b4b9909a5..051193a62009f522cfcbf31e5ccbf54863505fef 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -267,12 +239,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(); @@ -293,29 +260,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++ ) @@ -969,12 +913,8 @@ static Word16 QuantSpecEstimateBits_fx( Word16 stop, sqBits, nEncoded; Word16 lastnz; -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spec_fx, spec_e, sqQ, length, G_fx, G_e, 16384 /*Q15*/, NULL, 1 ); -#else // This flag could potentially be anything except EVS_MONO. In case of future errors consider passing down the flag from higher function calls. tcx_scalar_quantization_fx( spec_fx, spec_e, sqQ, length, G_fx, G_e, 16384 /*Q15*/, NULL, 1, IVAS_SCE ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN stop = 0; move16(); diff --git a/lib_enc/ivas_stereo_switching_enc_fx.c b/lib_enc/ivas_stereo_switching_enc_fx.c index 6eb239f1e6589484acb9c9b98e1d8982ef4b880b..ae4935fc2a0c0250b95bcf23de87c41f60748757 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -553,9 +525,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 ); test(); @@ -667,10 +636,8 @@ void stereo_switching_enc_fx( /* save original stereo input (MDCT overlap part) for both channels in unused old input of right channel for possible DFT->MDCT transition */ IF( EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 assert( sts[0]->q_inp32 == sts[1]->q_old_inp32 ); assert( sts[1]->q_inp32 == sts[1]->q_old_inp32 ); -#endif Copy32( sts[0]->input32_fx + sub( extract_l( Mpy_32_32( sts[0]->input_Fs, 42949673 /* 1/50 in Q31*/ ) ), sts[0]->encoderLookahead_FB ), sts[1]->input32_fx - shl( sts[0]->encoderLookahead_FB, 1 ), sts[0]->encoderLookahead_FB ); /* sts[0]->q_inp32 */ Copy32( sts[1]->input32_fx + sub( extract_l( Mpy_32_32( sts[1]->input_Fs, 42949673 /* 1/50 in Q31*/ ) ), sts[1]->encoderLookahead_FB ), sts[1]->input32_fx - sts[1]->encoderLookahead_FB, sts[1]->encoderLookahead_FB ); /* sts[1]->q_inp32 */ @@ -683,23 +650,15 @@ void stereo_switching_enc_fx( /* window DFT synthesis overlap memory @input_Fs, primary channel */ FOR( i = 0; i < dft_ovl; i++ ) { -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_fx[i] = Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ); // q_inp -#else - 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 -#endif move32(); } -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_q = q_inp; move16(); -#endif /* reset 48kHz BWE overlap memory */ set32_fx( hCPE->hStereoDft->output_mem_dmx_32k_fx, 0, STEREO_DFT_OVL_32k ); -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_32k_q = Q31; move16(); -#endif stereo_dft_enc_reset_fx( hCPE->hStereoDft ); @@ -726,7 +685,6 @@ void stereo_switching_enc_fx( hCPE->hStereoDft->res_pred_counter = STEREO_DFT_FEC_THRESHOLD; move16(); -#ifdef NONBE_FIX_ISSUE_2206 /* update DFT synthesis overlap memory @12.8kHz */ FOR( i = 0; i < STEREO_DFT_OVL_12k8; i++ ) { @@ -735,46 +693,18 @@ void stereo_switching_enc_fx( } hCPE->hStereoDft->output_mem_dmx_12k8_q = sub( Q31, sts[0]->exp_buf_speech_enc ); move16(); -#else - /* update DFT synthesis overlap memory @12.8kHz */ - FOR( i = 0; i < STEREO_DFT_OVL_12k8; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_12k8_fx[i] = L_shr( Mpy_32_16_r( hCPE->hStereoDft->win_12k8_fx[STEREO_DFT_OVL_12k8 - 1 - i], sts[0]->buf_speech_enc[L_FRAME32k + L_FRAME - STEREO_DFT_OVL_12k8 + i] ), sub( 16, sts[0]->exp_buf_speech_enc ) ); /* Q15 */ - move32(); - } -#endif -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_dmx = hCPE->hStereoDft->output_mem_dmx_q; -#else - Word16 q_dmx = Q15; -#endif move16(); /* update DFT synthesis overlap memory @16kHz, primary channel only */ L_lerp_fx( hCPE->hStereoDft->output_mem_dmx_fx, hCPE->hStereoDft->output_mem_dmx_16k_fx, STEREO_DFT_OVL_16k, dft_ovl, &q_dmx ); -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_16k_q = q_dmx; move16(); -#else - FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_16k_fx[i] = L_shl( hCPE->hStereoDft->output_mem_dmx_16k_fx[i], sub( Q15, q_dmx ) ); // Q15 - move32(); - } - - FOR( i = 0; i < STEREO_DFT_OVL_MAX; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl( hCPE->hStereoDft->output_mem_dmx_fx[i], sub( Q15, q_dmx ) ); // Q15 - move32(); - } -#endif /* reset DFT synthesis overlap memory @8kHz, secondary channel */ set32_fx( hCPE->hStereoDft->output_mem_res_8k_fx, 0, STEREO_DFT_OVL_8k ); -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_res_8k_q = Q15; move16(); -#endif hCPE->hCoreCoder[1]->vad_flag = 0; move16(); @@ -893,10 +823,8 @@ void stereo_switching_enc_fx( /* no secondary channel in the previous frame -> memory resets */ set16_fx( sts[1]->old_inp_12k8_fx, 0, L_INP_MEM ); set16_fx( sts[1]->mem_decim_fx, 0, 2 * L_FILT_MAX ); -#ifdef NONBE_FIX_ISSUE_2206 sts[1]->q_mem_decim_fx = Q15; move16(); -#endif sts[1]->mem_preemph_fx = 0; move16(); @@ -963,9 +891,7 @@ void stereo_switching_enc_fx( { /* cross-fade overlap region of DFT Stereo downmix and original stereo channels */ tmp_fx = div_s( 64, shl( sts[0]->encoderLookahead_FB, Q6 ) ); /* Q15 */ -#ifdef NONBE_FIX_ISSUE_2206 assert( sts[0]->q_old_inp32 == sts[1]->q_old_inp32 ); -#endif FOR( i = 0; i < sts[0]->encoderLookahead_FB; i++ ) { sts[1]->input32_fx[-sts[0]->encoderLookahead_FB + i] = ( Mpy_32_16_1( L_add( imult3216( sts[0]->input32_fx[-sts[0]->encoderLookahead_FB + i], sts[0]->encoderLookahead_FB - i ), imult3216( sts[1]->input32_fx[-sts[0]->encoderLookahead_FB + i], i ) ), tmp_fx ) ); /* sts[0]->q_inp32 */ diff --git a/lib_enc/ivas_stereo_td_analysis_fx.c b/lib_enc/ivas_stereo_td_analysis_fx.c index 61aa03ab842b3eaea1d476a798637889d1eff207..080716284159932609883fe00f13b4d4b4e08b93 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -173,10 +145,8 @@ Word16 stereo_tdm_ener_analysis_fx( Get_LR_rms_fx( sts[0]->input_fx, sts[1]->input_fx, input_frame, &rms_L_fx, &q_rms_L, &rms_R_fx, &q_rms_R ); -#ifdef NONBE_FIX_ISSUE_2206 q_rms_L = add( q_rms_L, sts[0]->q_inp ); q_rms_R = add( q_rms_R, sts[1]->q_inp ); -#endif /*----------------------------------------------------------------* * Compute the 1st order energy difference difference @@ -840,35 +810,13 @@ static Word16 Get_dt_lt_ener_fx( Word32 es_em_fx; Word16 tmp_SM_flag, tdm_SM_flag_loc; Word32 L_tmp, L_tmp1; -#ifdef NONBE_FIX_ISSUE_2206 Word16 exp_diff; -#else - Word16 exp_diff, tmp; -#endif sts = hCPE->hCoreCoder; Left_in_fx = sts[0]->input_fx; /* Left channel sts[0]->q_inp*/ Right_in_fx = sts[1]->input_fx; /* Right channel sts[1]->q_inp*/ -#ifndef NONBE_FIX_ISSUE_2206 - tmp = sub( getScaleFactor16( sts[0]->input_fx, input_frame ), 1 ); - Scale_sig( sts[0]->input_fx, input_frame, tmp ); /* sts[0]->q_inp + tmp */ - sts[0]->q_inp = add( tmp, sts[0]->q_inp ); - move16(); - - tmp = getScaleFactor16( sts[1]->input_fx, input_frame ); - Scale_sig( sts[1]->input_fx, input_frame, tmp ); /* sts[1]->q_inp + tmp */ - sts[1]->q_inp = add( tmp, sts[1]->q_inp ); - move16(); - - Scale_sig( sts[0]->input_fx, input_frame, sub( s_min( sts[0]->q_inp, sts[1]->q_inp ), sts[0]->q_inp ) ); /* s_min( sts[0]->q_inp, sts[1]->q_inp ) */ - Scale_sig( sts[1]->input_fx, input_frame, sub( s_min( sts[0]->q_inp, sts[1]->q_inp ), sts[1]->q_inp ) ); /* s_min( sts[0]->q_inp, sts[1]->q_inp ) */ - sts[1]->q_inp = s_min( sts[0]->q_inp, sts[1]->q_inp ); - move16(); - sts[0]->q_inp = sts[1]->q_inp; - move16(); -#endif tdm_SM_flag_loc = tdm_last_SM_flag; /* Q0 */ move16(); diff --git a/lib_enc/ivas_stereo_td_enc_fx.c b/lib_enc/ivas_stereo_td_enc_fx.c index 0629c027994e62fbd0e801132bfb8e30297c4fb1..d914ee7e6901db65dd46e142db890996a16dd402 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,9 +8,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" @@ -247,10 +216,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 ) ) @@ -350,12 +315,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 65f097eaa883f916661fad0cdf62e44f512c2d06..c7f1008c6c30be0614b71cb3202ed6834364410f 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -151,25 +123,16 @@ void stereo_tcx_init_enc_fx( *-------------------------------------------------------------------*/ void stereo_tcx_core_enc( - Encoder_State *st, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC - Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new -1 */ - Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new -1 */ -#else - const Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new*/ - const Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new*/ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new -1 */ + Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new -1 */ const Word16 Aw_fx[], /* i : weighted A(z) unquant. for subframes, Q12 */ Word16 lsp_new_fx[], /* i : LSPs at the end of the frame, Q15 */ Word16 lsp_mid_fx[], /* i : LSPs in the middle of the frame, Q15 */ Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ -#ifdef SIMPLIFY_CORE_ENC - const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ -#else - Word16 Q_new -#endif + const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ ) { TCX_ENC_HANDLE hTcxEnc; @@ -238,7 +201,6 @@ void stereo_tcx_core_enc( hTcxEnc = st->hTcxEnc; Word16 Q_exc; -#ifdef SIMPLIFY_CORE_ENC Word16 Q_spec_old, Q_new; /*--------------------------------------------------------------------------------* @@ -254,7 +216,6 @@ void stereo_tcx_core_enc( Q_spec_old = st->hTcxEnc->spectrum_long_e; move16(); -#endif /*--------------------------------------------------------------* * Configuration of TCX *---------------------------------------------------------------*/ @@ -326,21 +287,11 @@ void stereo_tcx_core_enc( IF( EQ_16( st->L_frame, L_FRAME ) ) { -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - Scale_sig( new_samples_12k8 - L_INP_MEM, L_INP_12k8, sub( Q1, Q_new ) ); /* Q0 */ - p_new_samples = new_samples_12k8; /* Q0 */ -#else p_new_samples = new_samples_12k8; /* Q_new */ -#endif } ELSE { -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - Scale_sig( new_samples_16k - L_INP_MEM, L_INP, sub( Q1, Q_new ) ); /* Q0 */ - p_new_samples = new_samples_16k; /* Q0 */ -#else p_new_samples = new_samples_16k; /* Q_new */ -#endif } /*--------------------------------------------------------------* @@ -405,13 +356,6 @@ void stereo_tcx_core_enc( * Core Signal Analysis: MDCT, TNS, LPC analysis *---------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - st->prev_Q_new = 0; - st->Q_old = 0; - - Q_new = 0; - move16(); -#endif core_signal_analysis_high_bitrate_ivas_fx( p_new_samples, T_op, lsp_new_fx, lsp_mid_fx, st, tnsSize, tnsBits, param_core, <pBits, NULL, st->L_frame, hTcxEnc->L_frameTCX, last_element_mode, vad_hover_flag, NULL, NULL, &Q_new, NULL ); bitsAvailable = sub( st->bits_frame_core, nbits_header ); @@ -588,33 +532,22 @@ void stereo_tcx_core_enc( s = sub( norm_arr( st->synth, st->L_frame ), 2 ); s = s_min( s, norm_arr( st->hLPDmem->syn, M ) ); -#ifdef NONBE_FIX_ISSUE_2206 Word16 wspeech_backup = 0; move16(); -#endif IF( st->tcxonly == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 s = s_min( s, add( norm_s( st->wspeech_enc[st->L_frame - 1] ), sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* st->wspeech_enc[st->L_frame - 1] needs to be at the same scale as st->synth, st->Q_syn = 0 + s, inside tcx_encoder_memory_update_ivas_fx() */ wspeech_backup = st->wspeech_enc[st->L_frame - 1]; move16(); st->wspeech_enc[st->L_frame - 1] = shl( st->wspeech_enc[st->L_frame - 1], sub( s, sub( Q15, st->exp_buf_wspeech_enc ) ) ); -#else - s = s_min( s, norm_s( st->wspeech_enc[st->L_frame - 1] ) ); - st->wspeech_enc[st->L_frame - 1] = shl( st->wspeech_enc[st->L_frame - 1], s ); -#endif } Scale_sig( st->synth, st->L_frame, s ); /* st->Q_syn + s */ Scale_sig( st->hLPDmem->syn, M + 1, s ); /* st->Q_syn + s */ st->hLPDmem->q_lpd_syn = add( st->hLPDmem->q_lpd_syn, s ); -#ifdef NONBE_FIX_ISSUE_2206 assert( st->Q_syn == 0 ); Q_new = s; -#else - Q_new = add( Q_new, s ); -#endif move16(); coder_tcx_post_ivas_fx( st, st->hLPDmem, st->hTcxCfg, st->synth, A_q_fx, Aw_fx, st->wspeech_enc, Q_new ); @@ -748,48 +681,23 @@ void stereo_tcx_core_enc( move16(); } } -#ifdef NONBE_FIX_ISSUE_2206 Scale_sig( st->synth, st->L_frame, negate( s ) ); -#else - Scale_sig( st->synth, st->L_frame, -Q_new ); -#endif IF( st->tcxonly == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 /* Revert scale change from above. */ st->wspeech_enc[st->L_frame - 1] = wspeech_backup; -#else - st->wspeech_enc[st->L_frame - 1] = shl( st->wspeech_enc[st->L_frame - 1], -st->Q_syn ); - move16(); -#endif } -#ifdef SIMPLIFY_CORE_ENC /*--------------------------------------------------------------------------------* * Scaling of buffers *--------------------------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - IF( EQ_16( st->L_frame, L_FRAME ) ) - { - Scale_sig( new_samples_12k8 - L_INP_MEM, L_INP_12k8, sub( Q_new_orig, Q1 ) ); /* Q_new - 1 */ - } - ELSE - { - Scale_sig( new_samples_16k - L_INP_MEM, L_INP, sub( Q_new_orig, Q1 ) ); /* Q_new - 1 */ - } - Scale_sig( hTcxEnc->old_out_fx, L_FRAME32k, negate( hTcxEnc->Q_old_out ) ); // scaling back to Q0 - hTcxEnc->Q_old_out = 0; - move16(); -#endif stereo_tcx_enc_scale_buffers( st, 1, Q_spec_old ); -#endif pop_wmops(); return; } -#ifdef SIMPLIFY_CORE_ENC /*-------------------------------------------------------------------* * stereo_tcx_enc_scale_buffers() @@ -847,7 +755,6 @@ void stereo_tcx_enc_scale_buffers( return; } -#endif /*-------------------------------------------------------------------* * ivas_acelp_tcx20_switching() @@ -860,12 +767,8 @@ Word16 ivas_acelp_tcx20_switching_fx( Encoder_State *st, /* i/o: encoder state structure */ Word16 *inp_fx, Word16 q_inp, -#ifdef NONBE_FIX_ISSUE_2206 - Word16 *wsp, /* q_wsp i : input weighted signal */ - Word16 q_wsp, /* i : Q of input weighted signal */ -#else - Word16 *wsp, /*q_inp i : input weighted signal */ -#endif + Word16 *wsp, /* q_wsp i : input weighted signal */ + Word16 q_wsp, /* i : Q of input weighted signal */ Word32 non_staX, /*Q20 i : unbound non-stationarity for sp/mu clas*/ Word16 *pitch_fr, /*Q6 i : fraction pitch values */ Word16 *voicing_fr, /*Q15 i : fractional voicing values */ @@ -1040,11 +943,7 @@ Word16 ivas_acelp_tcx20_switching_fx( xn_buf_fx[L_frame + i] = mult( xn_buf_fx[L_frame + i], window_fx[overlap - 1 - i] ); /* q_inp */ move16(); } -#ifdef NONBE_FIX_ISSUE_2206 e_x = sub( Q15, q_inp ); /*exponent for xn_buf_fx*/ -#else - e_x = sub( 16, q_inp ); /*exponent for xn_buf_fx*/ -#endif move16(); TCX_MDCT( xn_buf_fx, x_fx, &e_x, overlap, sub( L_frame, overlap ), overlap, st->element_mode ); scale_A = getScaleFactor32( x_fx, L_frame ); @@ -1059,11 +958,7 @@ Word16 ivas_acelp_tcx20_switching_fx( move32(); move32(); } -#ifdef NONBE_FIX_ISSUE_2206 e_x = add( e_x, Q15 - Q9 + 1 ); -#else - e_x = add( e_x, 6 ); -#endif basop_weight_a( A_q_tcx_fx, Ap_fx, 30147 /*0.92 in Q15*/ ); basop_lpc2mdct_fx( Ap_fx, M, gainlpc_fx, gainlpc_e, gainlpc_noinv, gainlpc_noinv_e ); @@ -1272,11 +1167,7 @@ Word16 ivas_acelp_tcx20_switching_fx( FOR( j = 0; j < L_SUBFR; j++ ) { -#ifdef NONBE_FIX_ISSUE_2206 tmp32 = BASOP_Util_Add_Mant32Exp( tmp32, temp32_e, L_mult0( wsp[i + j], wsp[i + j] ), sub( 31, add( q_wsp, q_wsp ) ), &temp32_e ); /* Q31-temp32_e */ -#else - tmp32 = BASOP_Util_Add_Mant32Exp( tmp32, temp32_e, L_mult0( wsp[i + j], wsp[i + j] ), sub( 31, add( q_inp, q_inp ) ), &temp32_e ); /* Q31-temp32_e */ -#endif } IF( tmp32 == 0 ) { @@ -1348,19 +1239,11 @@ Word16 ivas_acelp_tcx20_switching_fx( move16(); FOR( j = 0; j < L_SUBFR; j++ ) { -#ifdef NONBE_FIX_ISSUE_2206 tmp32 = Mpy_32_16_1( gain, wsp[i + j - T0] ); // Q16 + q_wsp - 15 tmp32 = L_sub( wsp[i + j], L_shr( tmp32, 1 ) ); // q_wsp tmp16 = norm_l( tmp32 ); tmp32 = L_shl( tmp32, tmp16 ); // q_wsp +tmp16 noise = BASOP_Util_Add_Mant32Exp( noise, noise_e, Mpy_32_32( tmp32, tmp32 ), shl( sub( 31, add( q_wsp, tmp16 ) ), 1 ), &noise_e ); // noise_e -#else - tmp32 = Mpy_32_16_1( gain, wsp[i + j - T0] ); // Q16 + q_inp - 15 - tmp32 = L_sub( wsp[i + j], L_shr( tmp32, 1 ) ); // q_inp - tmp16 = norm_l( tmp32 ); - tmp32 = L_shl( tmp32, tmp16 ); // q_inp +tmp16 - noise = BASOP_Util_Add_Mant32Exp( noise, noise_e, Mpy_32_32( tmp32, tmp32 ), shl( sub( 31, add( q_inp, tmp16 ) ), 1 ), &noise_e ); // noise_e -#endif } test(); IF( noise == 0 || EQ_32( noise, 1 ) ) @@ -1481,18 +1364,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 2e50ae3219adb3e159ab6c5f75c37f0cc5992dcb..cc4946df37fa7b98bde11162b6b4a7ee2eaa1b41 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/lead_indexing_fx.c b/lib_enc/lead_indexing_fx.c index 361b2493592b843f2612fa7cfe5d2ea3da2648aa..02a1b45d283e9c920770dfe91193ed70f2882009 100644 --- a/lib_enc/lead_indexing_fx.c +++ b/lib_enc/lead_indexing_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h index c5f124e57f154024c33b7688f7cc47e7529ab49c..3225fb2c3e52525cc77bf4311108e758547cea54 100644 --- a/lib_enc/lib_enc.h +++ b/lib_enc/lib_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 3832ce22ea7d78733c2e68b3bc32dcc57a663ba7..467bb077e1a90582cfd888a73e90191db7a33bca 100644 --- a/lib_enc/lib_enc_fx.c +++ b/lib_enc/lib_enc_fx.c @@ -1,42 +1,11 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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; @@ -700,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(); @@ -931,22 +846,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 } } @@ -1428,12 +1334,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 ) { @@ -1519,9 +1419,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; @@ -1647,67 +1544,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() @@ -1841,24 +1677,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" ); @@ -1867,7 +1685,6 @@ static ivas_error printConfigInfo_enc( { fprintf( stdout, "IVAS format: stereo - MDCT stereo\n" ); } -#endif } ELSE IF( EQ_16( hEncoderConfig->ivas_format, ISM_FORMAT ) ) { @@ -2523,57 +2340,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() @@ -2658,11 +2424,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 46e455617ff6f55a18575767f80f4300671c1f13..9de96f1a2211a103acd3f405bb515470c51a4c47 100644 --- a/lib_enc/long_enr_fx.c +++ b/lib_enc/long_enr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lp_exc_e_fx.c b/lib_enc/lp_exc_e_fx.c index 81c9b43a6e2efb1dc91b2515e33e829771e51f42..3a714807787ddd2aca6d41e41aacc4793f09147e 100644 --- a/lib_enc/lp_exc_e_fx.c +++ b/lib_enc/lp_exc_e_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lsf_enc_fx.c b/lib_enc/lsf_enc_fx.c index bc1f4cb3a979d6ec7b864bbe8a8505f500d48877..4be89f34c8a38c745c525f2cbd95b35e2c46d018 100644 --- a/lib_enc/lsf_enc_fx.c +++ b/lib_enc/lsf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lsf_msvq_ma_enc_fx.c b/lib_enc/lsf_msvq_ma_enc_fx.c index 3557f0a376dbc08b134b5aeeeb695d50ca70cbbe..b1cd84589b08f87d1836d9c1e605c29dccaed420 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ltd_stable_fx.c b/lib_enc/ltd_stable_fx.c index f873f561229a68574848641a0a7299cefd880a66..22c81630013d0c65d84b80237e6d7699b1dd8da0 100644 --- a/lib_enc/ltd_stable_fx.c +++ b/lib_enc/ltd_stable_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/mdct_classifier_fx.c b/lib_enc/mdct_classifier_fx.c index 07dc67883ae73443962c33e85bac7e41f4ecc4a9..8ed53f428e862c577424cf46afc9b13bfe15b0e4 100644 --- a/lib_enc/mdct_classifier_fx.c +++ b/lib_enc/mdct_classifier_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/mdct_selector_fx.c b/lib_enc/mdct_selector_fx.c index b6de7a5d236133b5347aae5cfae34309a1e27caf..9624de59da868c9105672ee1f90013ffa9a841e5 100644 --- a/lib_enc/mdct_selector_fx.c +++ b/lib_enc/mdct_selector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/mslvq_enc_fx.c b/lib_enc/mslvq_enc_fx.c index ab7122ad2ac932945bae5cad4f5b0b24d5628563..1b640a0cf53901b7814af0771c92b26a03b068bc 100644 --- a/lib_enc/mslvq_enc_fx.c +++ b/lib_enc/mslvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/multi_harm_fx.c b/lib_enc/multi_harm_fx.c index 6c0ef3f094856d397141a4ec99d2093c200bb43b..86577d529aa71b50eeb4ef94317f54ab435ec381 100644 --- a/lib_enc/multi_harm_fx.c +++ b/lib_enc/multi_harm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/nelp_enc_fx.c b/lib_enc/nelp_enc_fx.c index 45e132898b21a395c22f71a0631eb12eb1443a66..b044420103d6ee6648fa066f77527c00c45e4d28 100644 --- a/lib_enc/nelp_enc_fx.c +++ b/lib_enc/nelp_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_enc/nois_est_fx.c b/lib_enc/nois_est_fx.c index f3373dc0183e71ee41e73be5294ea1fba27dec69..627049e16def37b0222aac055709e966b5a3a606 100644 --- a/lib_enc/nois_est_fx.c +++ b/lib_enc/nois_est_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/noise_adjust_fx.c b/lib_enc/noise_adjust_fx.c index ffbcd8b0982e5515735e48cc45a6a87e4ff77ca4..61af71e5417958ce660e05f9235358beded439e1 100644 --- a/lib_enc/noise_adjust_fx.c +++ b/lib_enc/noise_adjust_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/normalizecoefs_fx.c b/lib_enc/normalizecoefs_fx.c index 4b126e2dcdb9845c3bc5de1e16511e0a8a59c64d..0e83fe3222c05468355accc775131b116eed2ff4 100644 --- a/lib_enc/normalizecoefs_fx.c +++ b/lib_enc/normalizecoefs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/peak_vq_enc_fx.c b/lib_enc/peak_vq_enc_fx.c index 2e396e3d0277670d02ad1f6b0987c6dc559af6a2..4d0c888b88607deec8015efdf9d7c0ac4ad055bc 100644 --- a/lib_enc/peak_vq_enc_fx.c +++ b/lib_enc/peak_vq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pit_enc_fx.c b/lib_enc/pit_enc_fx.c index 0e1b433b1f7a61c436e9af1ce15778eabf522669..080c79bb504edc1bd842cad30a411c4ade706421 100644 --- a/lib_enc/pit_enc_fx.c +++ b/lib_enc/pit_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pitch_ol2_fx.c b/lib_enc/pitch_ol2_fx.c index ff9a2ab647e30dc356085c49b1001c88d7bcf716..44c8d8a4b51c783142334a097a0520624ef692f6 100644 --- a/lib_enc/pitch_ol2_fx.c +++ b/lib_enc/pitch_ol2_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pitch_ol_fx.c b/lib_enc/pitch_ol_fx.c index 2071088de1dfaebdedf6b50ff15f554ee68a194a..624e0d4cbcd1278be5ce541baf0ca4087cdb6e2e 100644 --- a/lib_enc/pitch_ol_fx.c +++ b/lib_enc/pitch_ol_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/plc_enc_ext_fx.c b/lib_enc/plc_enc_ext_fx.c index fa5f85f8ce0bd8570a59ba9d8edd98e38ab140bf..b937a857a68fa459f3f536337e3362cec32b87dd 100644 --- a/lib_enc/plc_enc_ext_fx.c +++ b/lib_enc/plc_enc_ext_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ppp_enc_fx.c b/lib_enc/ppp_enc_fx.c index 15b013a4b9c309c5085e1a5e4002f81f46b35c2c..ed28fa32752ecfaf97d2cf524fde8a3c1820693f 100644 --- a/lib_enc/ppp_enc_fx.c +++ b/lib_enc/ppp_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pre_proc_fx.c b/lib_enc/pre_proc_fx.c index c5cc50341c08c0f74bd67bcc08125128c2510042..086cad22508889ee020ba3c587ccf3dede461561 100644 --- a/lib_enc/pre_proc_fx.c +++ b/lib_enc/pre_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 */ Word32 epsP[M + 1], /* o : LP prediction errors */ @@ -1204,9 +1205,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 046f1521137ce63d5eebba1e83b235e10d516a32..6bd33585f5a1d7547cb1a1f4b3a3b5c5dd23143e 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef PROT_FX_ENC_H #define PROT_FX_ENC_H @@ -219,12 +191,8 @@ void fine_gain_quant_fx( ); void hq_core_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC - Word16 *audio, /* i : i audio signal Q0*/ -#else - const Word16 *audio, /* i : i audio signal Q0*/ -#endif + Encoder_State *st_fx, /* i/o: encoder state structure */ + Word16 *audio, /* i : i audio signal Q0*/ const Word16 input_frame_orig, /* i : frame length Q0*/ const Word16 hq_core_type, /* i : HQ core type Q0*/ const Word16 Voicing_flag, /* i : Voicing flag for FER method selection Q0*/ @@ -535,26 +503,17 @@ void swb_bwe_enc_fx( Word16 Q_slb_speech ); void swb_CNG_enc_fx( - Encoder_State *st_fx, /* i/o: State structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ - const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz */ -#else - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ -#endif + Encoder_State *st_fx, /* i/o: State structure */ + const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ + const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz */ const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz */ ); void swb_pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ - Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ -#else - Word16 *new_swb_speech, /* o : original input signal at 32kHz - Q0 */ - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - Q0*/ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ + Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ + Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer Q - q_reImbuffer */ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer Q - q_reImbuffer */ Word16 q_reImBuffer, /* i : scale data of real and imag CLDFB buffers*/ @@ -621,36 +580,23 @@ void vad_param_updt_fx( ); void wb_bwe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 + Encoder_State *st_fx, /* i/o: encoder state structure */ const Word16 *new_wb_speech_fx, /* i : original i signal at 16kHz */ const Word16 new_wb_speech_q /* i : Q of new_wb_speech_fx */ -#else - const Word16 *new_wb_speech_fx /* i : original i signal at 16kHz */ -#endif ); void wb_pre_proc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - const Word16 last_element_mode, /* i : last element mode */ -#ifdef NONBE_FIX_ISSUE_2206 + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 last_element_mode, /* i : last element mode */ const Word16 *new_inp_resamp16k, /* i : original input signal in new_inp_resamp16k_q */ Word16 *hb_speech, /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ const Word16 new_inp_resamp16k_q /* i : Q of new_inp_resamp16k */ -#else - const Word16 *new_inp_resamp16k, /* i : original input signal in Q-1 */ - Word16 *hb_speech /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ -#endif ); void wb_tbe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ - const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ -#else - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz Q(-1) */ -#endif + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ + const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ const Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation Q(2*Q_new) */ const Word16 Q_new, /* i : input HB speech Q factor */ const Word16 voice_factors[], /* i : voicing factors Q15 */ @@ -1086,19 +1032,6 @@ Word16 SQ_gain_estimate_fx( Word16 *gain_e /* o : SQ gain exponent */ ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_fx( - Word32 *x, /* i : i coefficients */ - Word16 x_e, /* i : exponent */ - Word16 *xq, /* o : quantized coefficients */ - Word16 L_frame, /* i : frame length */ - Word16 gain, /* i : quantization gain */ - Word16 gain_e, /* i : quantization gain exponent */ - Word16 offset, /* i : rounding offset (deadzone) */ - Word8 const *memQuantZeros, /* i : coefficients to be set to 0 */ - const Word16 alfe_flag ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN - Word16 tcx_scalar_quantization_rateloop_fx( Word32 *x, /* i : input coefficients Q = 31 - x_e*/ @@ -1161,9 +1094,6 @@ void tcx_encoder_memory_update_ivas_fx( Word16 preemph, /* i : preemphasis factor, Q15 */ LPD_state *LPDmem, /* i/o: coder memory state */ Encoder_State *st, -#ifndef NONBE_FIX_ISSUE_2206 - Word16 *synthout, /* Q_new */ -#endif Word16 Q_new ); void tcx_encoder_memory_update_fx( @@ -1420,34 +1350,11 @@ void encode_acelp_gains_fx( Word16 noisy_speech_flag /* (i) : noisy speech flag */ ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_start_encoding_14bits_fx( - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_copy_states_fx( - TastatEnc *source, - TastatEnc *dest ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_copy_states_fx( -#else -void ari_copy_states_ivas_fx( -#endif Tastat *source, Tastat *dest ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_ext_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s, - Word32 symbol, /* Q0 */ - UWord16 const *cum_freq /* Q0 */ -); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ Word16 ari_put_bit_plus_follow( Word16 ptr[], /* o : bit-stream Q0*/ @@ -1456,12 +1363,6 @@ Word16 ari_put_bit_plus_follow( Word16 bit /* i : bit to send Q0*/ ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ void reset_rf_indices_fx( Encoder_State *st /* i : state structure - contains partial RF indices */ @@ -1788,30 +1689,11 @@ void find_wsp_fx( const Word16 nb_subfr /* i : number of subframes */ ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_overflow_fx( - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_overflow_fx( -#else -Word16 ari_encode_overflow_ivas_fx( -#endif Tastat *s ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_range_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 cum_freq_low, /* Q0 */ - Word16 cum_freq_high /* Q0 */ -); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_range_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -1820,31 +1702,9 @@ Word16 ari_encode_14bits_range_fx( Word16 cum_freq_low, /* Q0 */ Word16 cum_freq_high /* Q0 */ ); -#endif -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_sign_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 sign /* Q0 */ -); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_done_cbr_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_cbr_encoding_14bits_fx( -#else -Word16 ari_done_cbr_encoding_14bits_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Word16 bits, /* Q0 */ @@ -2040,14 +1900,10 @@ void core_signal_analysis_high_bitrate_fx( Word16 *Q_new ); void core_signal_analysis_high_bitrate_ivas_fx( -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_samples, /*i : Q_new-1 */ -#else - const Word16 *new_samples, /*i : Q0 */ -#endif - const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ - Word16 lsp_new[], /* Q15 */ - Word16 lsp_mid[], /* Q15 */ + const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ + Word16 lsp_new[], /* Q15 */ + Word16 lsp_mid[], /* Q15 */ Encoder_State *st, Word16 pTnsSize[], /* Q0 */ Word16 pTnsBits[], /* Q0 */ @@ -3304,17 +3160,15 @@ Word16 gaus_encode_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 */ Word32 epsP[M + 1], /* o : LP prediction errors */ @@ -3878,17 +3732,6 @@ void writeLPCparam_fx( const Word16 no_param_lpc, /* i : number of LPC parameters */ Word16 *nbits_lpc /* o : LPC bits written */ ); -#ifndef HARMONIZE_2539_cng_energy -Word16 cng_energy_ivas_fx( - const Word16 element_mode, /* i : element mode */ - const Word16 bwidth, /* i : audio bandwidh */ - const Word16 CNG_mode, /* i : mode for DTX configuration */ - const Word16 CNG_att, /* i : attenuation factor for CNG Q7 */ - const Word16 *exc, /* i : input signal */ - const Word16 len, /* i : vector length */ - const Word16 Q_new /* i : Input scaling */ -); -#endif void SynthesisSTFT_enc_ivas_fx( Word32 *fftBuffer, /* i : pointer to FFT bins */ diff --git a/lib_enc/pvq_core_enc_fx.c b/lib_enc/pvq_core_enc_fx.c index 397e45662a5a2db8ed55719da4740121cc7fcbb4..c7c21f14345140949114433670527087b01017f8 100644 --- a/lib_enc/pvq_core_enc_fx.c +++ b/lib_enc/pvq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pvq_encode_fx.c b/lib_enc/pvq_encode_fx.c index f858e1dd65aa0eb4b115d6c47846445b2b6b387f..3662ebe3c3951c8f33473ea7e30c4277e442aab4 100644 --- a/lib_enc/pvq_encode_fx.c +++ b/lib_enc/pvq_encode_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/q_gain2p_fx.c b/lib_enc/q_gain2p_fx.c index b0f681120e6be2b31b7fbd9b1b02d6497a9e64b4..0ebc28b840deb1de4a6d38fbcba2abdc27193eed 100644 --- a/lib_enc/q_gain2p_fx.c +++ b/lib_enc/q_gain2p_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/qlpc_avq_fx.c b/lib_enc/qlpc_avq_fx.c index ab6d62658f80002e093ac5067ff5ecdf3aec2868..e724ba039a6183779eabfc53230c4ead7c0f7581 100644 --- a/lib_enc/qlpc_avq_fx.c +++ b/lib_enc/qlpc_avq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/qlpc_stoch_fx.c b/lib_enc/qlpc_stoch_fx.c index 0d02d4742be1a1f2e475fe14e829aec7fb01ae32..8c7c8ffea9bbd4a126b4fd44541490c387ed30ee 100644 --- a/lib_enc/qlpc_stoch_fx.c +++ b/lib_enc/qlpc_stoch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/range_enc_fx.c b/lib_enc/range_enc_fx.c index b039f49289eeac967bb5301333d72518e647c2a5..4a05e7371cdd5f0332cb2f2a68d14950b29b8f1b 100644 --- a/lib_enc/range_enc_fx.c +++ b/lib_enc/range_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/re8_cod_fx.c b/lib_enc/re8_cod_fx.c index ea1990b63bfeaf9e54b4d2ededa320ddd4cc6ef2..0434e133db378aa592cdf8a2d39e92dbd2a13a08 100644 --- a/lib_enc/re8_cod_fx.c +++ b/lib_enc/re8_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/reordernorm_fx.c b/lib_enc/reordernorm_fx.c index 149c499d18fb85dcec99848355a6c971d226a9af..ec14dc9e725846a26178ea1370ce9d96376414d2 100644 --- a/lib_enc/reordernorm_fx.c +++ b/lib_enc/reordernorm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/rom_enc.h b/lib_enc/rom_enc.h index 4b1a5f42cb07d0cf42a8c342a8740b9f6d6d6c8d..3506465da44a71fcc9dc0593c3d3e668d91d98b2 100644 --- a/lib_enc/rom_enc.h +++ b/lib_enc/rom_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/rom_enc_fx.c b/lib_enc/rom_enc_fx.c index cb211404b411b9cb11781135d63a79f4cec30b30..5806234fcb2dd66f8b45450b7a15046b3b02db71 100644 --- a/lib_enc/rom_enc_fx.c +++ b/lib_enc/rom_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/rst_enc_fx.c b/lib_enc/rst_enc_fx.c index 38b8e5ff29966b43c61531758a39f470886ffce4..45529958bd967ab3b32a44335a90bcf003d82b67 100644 --- a/lib_enc/rst_enc_fx.c +++ b/lib_enc/rst_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/scale_enc_fx.c b/lib_enc/scale_enc_fx.c index c7420e8ba57a92c6de77e382d28b6e4059eedbe1..5e1ce888e26f8eeb3d4c05485f41f00eb9697848 100644 --- a/lib_enc/scale_enc_fx.c +++ b/lib_enc/scale_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/set_impulse_fx.c b/lib_enc/set_impulse_fx.c index 4c867dd179e004b48cbb174a30235c6c59145141..5b0857fd523b8c295cefc11a140afa9af6ce0ed8 100644 --- a/lib_enc/set_impulse_fx.c +++ b/lib_enc/set_impulse_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/setmodeindex_fx.c b/lib_enc/setmodeindex_fx.c index 6c34efb0f914e00a1d8ba810db6c4ab1fba7a964..12a3bcd7863178688421057db94af102f9c3e28f 100644 --- a/lib_enc/setmodeindex_fx.c +++ b/lib_enc/setmodeindex_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/sig_clas_fx.c b/lib_enc/sig_clas_fx.c index 86ba906eb89ef255eb7bf32f6c996e7782b1c1d4..24209df1c0f1a79a467b5635aec265591e185b17 100644 --- a/lib_enc/sig_clas_fx.c +++ b/lib_enc/sig_clas_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/spec_center_fx.c b/lib_enc/spec_center_fx.c index b628ea0f5b1bc9a34b494fcff6a5d63f0078acd7..2b6b3f1c13098aede2e00687151e99176a6b2c98 100644 --- a/lib_enc/spec_center_fx.c +++ b/lib_enc/spec_center_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/spec_flatness_fx.c b/lib_enc/spec_flatness_fx.c index 89102d926fb92e3e47b39ad97746efd25814e848..b3bdde62b4c7a8277d19b615729db9461339bd33 100644 --- a/lib_enc/spec_flatness_fx.c +++ b/lib_enc/spec_flatness_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/speech_music_classif_fx.c b/lib_enc/speech_music_classif_fx.c index 1e6188979f388ce14f1539292cbbf92f8eca2492..bfb4261d9c98481ddb2efe06d686b049e994777e 100644 --- a/lib_enc/speech_music_classif_fx.c +++ b/lib_enc/speech_music_classif_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 "ivas_prot_fx.h" @@ -423,11 +423,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(); @@ -2377,9 +2373,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; } @@ -2955,39 +2948,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; move16(); diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 1723edb3fdbb66112941fe71b62a6946a62b5892..20202ab3590e41d8573ca91e5d8b919be28ba281 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 @@ -76,13 +45,6 @@ typedef struct Word32 s32Mantissa; } T_VAD_EXP; -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -typedef struct -{ - Word32 low, high; - Word16 value; -} TastatEnc; -#endif /*----------------------------------------------------------------------------------* * Bitstream structure *----------------------------------------------------------------------------------*/ @@ -455,9 +417,6 @@ typedef struct igfscfenc_public_data_struct const UWord16 *cf_se11; const Word16 *cf_off_se11; Tastat acState; -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC - TastatEnc acState_fx; -#endif Tastat acState_ivas_fx; } IGFSCFENC_INSTANCE, *IGFSCFENC_INSTANCE_HANDLE; @@ -926,20 +885,14 @@ typedef struct amrwb_io_enc_structure typedef struct td_bwe_enc_structure { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 old_speech_shb_fx[L_LOOK_16k + L_SUBFR16k]; /* Buffer memories Q(old_speech_shb_q) */ Word16 old_speech_shb_q; -#else - Word16 old_speech_shb_fx[L_LOOK_16k + L_SUBFR16k]; /* Buffer memories Q(Q_shb_spch) */ -#endif Word16 old_speech_wb_fx[( L_LOOK_12k8 + L_SUBFR ) * 5 / 16]; /* Buffer memories Q(-1) */ Word16 old_input_fhb_fx[NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2]; /* Q(old_input_fhb_fx_Q) */ Word16 old_input_fhb_fx_Q; Word16 prev_lsp_shb_fx[LPC_SHB_ORDER]; /* Q15 */ Word16 state_ana_filt_shb_fx[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; /* states for the analysis filters */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 state_ana_filt_shb_fx_Q; -#endif Word16 cldfbHBLT; /* Q13 */ /* states for the filters used in generating SHB excitation from WB excitation*/ Word32 mem_csfilt_fx[2]; /* Q(prev_Q_bwe_exc) */ @@ -975,12 +928,8 @@ typedef struct td_bwe_enc_structure Word32 prev_gainFr_SHB_fx; /* Q18 */ Word16 lsp_shb_slow_interpl_fx[LPC_SHB_ORDER]; /* Q15 */ Word16 lsp_shb_fast_interpl_fx[LPC_SHB_ORDER]; /* Q15 */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(shb_inv_filt_mem_q) */ + Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(shb_inv_filt_mem_q) */ Word16 shb_inv_filt_mem_q; -#else - Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(Q_shb_spch) */ -#endif Word16 lsp_shb_spacing_fx[3]; /* Q15 */ Word16 prev_swb_GainShape_fx; /* Q15 */ Word16 prev_frGainAtten; @@ -1011,14 +960,9 @@ typedef struct td_bwe_enc_structure Word16 gFrame_WB; Word16 idxGain; -#ifdef NONBE_FIX_ISSUE_2206 Word16 dec_2_over_3_mem_fx[L_FILT_2OVER3]; /* dec_2_over_3_mem_q */ Word16 dec_2_over_3_mem_lp_fx[6]; /* dec_2_over_3_mem_q */ Word16 dec_2_over_3_mem_q; -#else - Word16 dec_2_over_3_mem_fx[L_FILT_2OVER3]; - Word16 dec_2_over_3_mem_lp_fx[6]; -#endif Word16 tbe_demph_fx; /* Q(prev_Q_bwe_exc - 16 - NOISE_QADJ) */ Word16 tbe_premph_fx; /* Q(prev_Q_bwe_exc - 16) */ @@ -1045,21 +989,13 @@ typedef struct fd_bwe_enc_structure { Word16 new_input_hp_fx[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS - DELAY_CLDFB_NS )]; // Q_new_input_hp Word16 Q_new_input_hp; -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_input_fx[NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS )]; // Q(old_input_q) Word16 old_input_q; -#else - Word16 old_input_fx[NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS )]; // st->q_inp -#endif Word16 old_input_wb_fx[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; /* Q(-1) */ Word16 old_input_lp_fx[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS )]; // st->hBWE_FD->prev_Q_input_lp Word16 old_syn_12k8_16k_fx[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; // st->Q_syn -#ifdef NONBE_FIX_ISSUE_2206 - Word16 old_fdbwe_speech_fx[L_FRAME48k]; // Q(old_fdbwe_speech_q) for IVAS, Q(-1) for EVS. + Word16 old_fdbwe_speech_fx[L_FRAME48k]; // Q(old_fdbwe_speech_q) for IVAS, Q(-1) for EVS. Word16 old_fdbwe_speech_q; -#else - Word16 old_fdbwe_speech_fx[L_FRAME48k]; -#endif Word16 mem_deemph_old_syn_fx; Word16 q_mem_deemph_old_syn; Word16 prev_mode; @@ -1269,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 */ @@ -1316,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 @@ -1459,19 +1386,13 @@ typedef struct enc_core_structure SIGNAL_BUFFERS_ENC_HANDLE hSignalBuf; Word32 *Bin_E_old_fx; /* per bin energy of old 2nd frames */ Word16 q_Bin_E_old; -#ifdef NONBE_FIX_ISSUE_2206 Word16 *mem_decim_fx; /* decimation filter memory Q(q_mem_decim_fx) */ Word16 q_mem_decim_fx; /* Q of ACELP@12.8kHz - decimation filter memory @12.8kHz */ Word16 mem_decim_fx_q_inp[2 * L_FILT_MAX]; /* decimation filter memory st->q_inp */ Word16 *mem_decim16k_fx; /* ACELP@16kHz - decimation filter memory @16kHz q_mem_decim16k_fx */ Word16 q_mem_decim16k_fx; /* Q of ACELP@16kHz - decimation filter memory @16kHz */ -#else - Word16 *mem_decim_fx; /* decimation filter memory Q(-1) */ - Word16 mem_decim_fx_q_inp[2 * L_FILT_MAX]; /* decimation filter memory Q(-1) */ - Word16 *mem_decim16k_fx; /* ACELP@16kHz - decimation filter memory @16kHz Q(-1) */ -#endif - Word16 *old_inp_12k8_fx; /* memory of input signal at 12.8kHz */ - Word16 *old_inp_16k_fx; /* ACELP@16kHz - memory of input signal @16 kHz */ + Word16 *old_inp_12k8_fx; /* memory of input signal at 12.8kHz */ + Word16 *old_inp_16k_fx; /* ACELP@16kHz - memory of input signal @16 kHz */ Word16 *buf_speech_enc_pe; // exp_buf_speech_enc_pe Word16 *buf_synth; /* can be reduced to PIT_MAX_MAX+L_FRAME_MAX if no rate switching*/ @@ -1786,9 +1707,6 @@ typedef struct enc_core_structure * Fixed point only variables *----------------------------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2518 - Word16 Q_exc; -#endif Word16 Q_stat_noise_ge; Word16 Q_stat_noise; Word16 Q_syn2; diff --git a/lib_enc/stat_noise_uv_enc_fx.c b/lib_enc/stat_noise_uv_enc_fx.c index 8306c60d78ed09e7b5c2b36206c31ccd3c4a2da6..90504163d26d2d5b4dbca2b32cae2ff254c4e76b 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/subband_fft_fx.c b/lib_enc/subband_fft_fx.c index 7026f2603178044ff4e29c4ca7c454fc1103de18..421b49dc81a983215350d5514b5163337cc71963 100644 --- a/lib_enc/subband_fft_fx.c +++ b/lib_enc/subband_fft_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_fx.c b/lib_enc/swb_bwe_enc_fx.c index 31bcd1e8963174d5d616ed1e6feb384270f1e841..2d27feb2731df7efa4216d543fb1ec76f5a53e08 100644 --- a/lib_enc/swb_bwe_enc_fx.c +++ b/lib_enc/swb_bwe_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -103,13 +106,9 @@ static void delay_input_signal_fx( *-------------------------------------------------------------------*/ void wb_bwe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 + Encoder_State *st_fx, /* i/o: encoder state structure */ const Word16 *new_wb_speech_fx, /* i : original input signal at 16kHz */ const Word16 new_wb_speech_q /* i : Q of new_wb_speech_fx */ -#else - const Word16 *new_wb_speech_fx /* i : original input signal at 16kHz */ -#endif ) { Word16 mode = 0; @@ -134,22 +133,15 @@ void wb_bwe_enc_fx( move16(); new_input_fx = old_input_fx + Sample_Delay_WB_BWE; -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input_fx, Sample_Delay_WB_BWE, sub( new_wb_speech_q, -1 ) ); Copy( new_wb_speech_fx, new_input_fx, L_FRAME16k ); Copy_Scale_sig( old_input_fx + L_FRAME16k, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE, sub( -1, new_wb_speech_q ) ); -#else - Copy( hBWE_FD->old_input_wb_fx, old_input_fx, Sample_Delay_WB_BWE ); - Copy( new_wb_speech_fx, new_input_fx, L_FRAME16k ); - Copy( old_input_fx + L_FRAME16k, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE ); -#endif /*---------------------------------------------------------------------*/ /* WB BWE encoding */ /* MDCT of the core synthesis signal */ /*---------------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 new_input_fx_exp = new_wb_speech_q; move16(); if ( st_fx->element_mode == EVS_MONO ) @@ -158,15 +150,6 @@ void wb_bwe_enc_fx( new_input_fx_exp = 0; move16(); } -#else - new_input_fx_exp = -Q1; - move16(); - if ( st_fx->element_mode == EVS_MONO ) - { - new_input_fx_exp = 0; - move16(); - } -#endif wtda_fx( old_input_fx, &new_input_fx_exp, L_wtda_synth_fx, hBWE_FD->L_old_wtda_swb_fx, &st_fx->Q_old_wtda, ALDO_WINDOW, ALDO_WINDOW, /* window overlap of current frame (0: full, 2: none, or 3: half) */ L_FRAME16k ); @@ -201,11 +184,7 @@ void swb_bwe_enc_fx( const Word16 *old_syn_12k8_16k_fx, /* i : ACELP core synthesis at 12.8kHz or 16kHz */ const Word16 *new_swb_speech_fx, /* i : original input signal at 32kHz */ const Word16 Q_new_swb_speech, /* i : Q for new_swb_speech_fx */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - Word16 *shb_speech_fx_input, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb_speech */ -#else - Word16 *shb_speech_fx_Q0, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif + Word16 *shb_speech_fx_input, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb_speech */ Word16 Q_shb_speech, Word16 Q_slb_speech ) { @@ -246,23 +225,14 @@ void swb_bwe_enc_fx( IF( st_fx->element_mode == EVS_MONO ) { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT assert( Q_shb_speech == 0 ); Copy( shb_speech_fx_input, shb_speech_fx, L_FRAME16k ); -#else - Copy( shb_speech_fx_Q0, shb_speech_fx, L_FRAME16k ); -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT tmp = norm_arr( shb_speech_fx_input, L_FRAME16k ); Copy_Scale_sig_nosat( shb_speech_fx_input, shb_speech_fx, L_FRAME16k, tmp ); Q_shb_speech = add( Q_shb_speech, tmp ); -#else - Q_shb_speech = getScaleFactor16( shb_speech_fx_Q0, L_FRAME16k ); - Copy_Scale_sig( shb_speech_fx_Q0, shb_speech_fx, L_FRAME16k, Q_shb_speech ); // Q0 -> Q_shb_spch -#endif } /*---------------------------------------------------------------------* @@ -345,7 +315,6 @@ void swb_bwe_enc_fx( q_new_input_hp = s_min( Q_shb_speech, hBWE_FD->Q_new_input_hp ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT IF( st_fx->element_mode == EVS_MONO ) { Copy( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP ); @@ -363,40 +332,12 @@ void swb_bwe_enc_fx( Q_shb_speech = q_new_input_hp; move16(); -#else - IF( st_fx->element_mode == EVS_MONO ) - { - Copy( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP ); - Copy( shb_speech_fx, &new_input_hp_fx[Sample_Delay_HP], L_FRAME16k - Sample_Delay_HP ); - } - ELSE IF( LT_16( Q_shb_speech, hBWE_FD->Q_new_input_hp ) ) - { - Copy_Scale_sig( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP, sub( Q_shb_speech, hBWE_FD->Q_new_input_hp ) ); // Q_shb_speech - Copy( shb_speech_fx, &new_input_hp_fx[Sample_Delay_HP], L_FRAME16k - Sample_Delay_HP ); // Q_shb_speech - } - ELSE - { - Copy( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP ); // hBWE_FD->Q_new_input_hp - Copy_Scale_sig( shb_speech_fx, &new_input_hp_fx[Sample_Delay_HP], L_FRAME16k - Sample_Delay_HP, sub( hBWE_FD->Q_new_input_hp, Q_shb_speech ) ); // hBWE_FD->Q_new_input_hp - } - - hBWE_FD->Q_new_input_hp = Q_shb_speech; - move16(); - Copy( shb_speech_fx + L_FRAME16k - Sample_Delay_HP, hBWE_FD->new_input_hp_fx, Sample_Delay_HP ); - new_input_fx = old_input_fx + Sample_Delay_SWB_BWE; -#endif -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hBWE_FD->old_input_fx, old_input_fx, Sample_Delay_SWB_BWE, sub( Q_new_swb_speech, hBWE_FD->old_input_q ) ); Copy( new_swb_speech_fx, new_input_fx, inner_frame ); Copy( old_input_fx + inner_frame, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = Q_new_swb_speech; move16(); -#else - Copy( hBWE_FD->old_input_fx, old_input_fx, Sample_Delay_SWB_BWE ); - Copy( new_swb_speech_fx, new_input_fx, inner_frame ); - Copy( old_input_fx + inner_frame, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif /*----------------------------------------------------------------------* * Calculate tilt of the input signal and the ACELP core synthesis @@ -1352,12 +1293,7 @@ static void MSVQ_Interpol_Tran_fx( FOR( n_band = 0; n_band < DIM_TR2 - 1; n_band++ ) { /*quant_tmp2[n_band] = env_temp12[n_band] - ((quant_tmp[n_band]+quant_tmp[n_band+1])/2.f); */ -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx tmp = add( shr( quant_tmp[n_band], 1 ), shr( quant_tmp[n_band + 1], 1 ) ); /*Q8 */ -#else - tmp = add( quant_tmp[n_band], quant_tmp[n_band + 1] ); /*Q8 */ - tmp = shr( tmp, 1 ); -#endif quant_tmp2[n_band] = sub( env_temp12[n_band], tmp ); move16(); /*Q8 */ } @@ -1376,12 +1312,7 @@ static void MSVQ_Interpol_Tran_fx( FOR( n_band = 0; n_band < DIM_TR2 - 1; n_band++ ) { /*quant_select[n_band*2+1] = ((quant_tmp[n_band]+quant_tmp[n_band+1])/2.f) + quant_tmp2[n_band]; */ -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx tmp = add( shr( quant_tmp[n_band], 1 ), shr( quant_tmp[n_band + 1], 1 ) ); /*Q8 */ -#else - tmp = add( quant_tmp[n_band], quant_tmp[n_band + 1] ); /*Q8 */ - tmp = shr( tmp, 1 ); -#endif quant_select[n_band * 2 + 1] = add( tmp, quant_tmp2[n_band] ); move16(); } @@ -2066,12 +1997,8 @@ static Word16 WB_BWE_encoding_fx( tmp = Log2_norm_lc( L_shl( L_tmp, exp ) ); /* exp = 30-exp-(2*Q_synth-2 / exp = 30-exp-(q_WB_fenv[i]+4) */ exp = sub( sub( 30, exp ), Q_fenv[i] ); - L_tmp = Mpy_32_16( exp, tmp, 32767 ); /* Q16 */ -#ifdef NONBE_FIX_ISSUE_2206 + L_tmp = Mpy_32_16( exp, tmp, 32767 ); /* Q16 */ WB_fenv_fx[i] = round_fx( L_shl_sat( L_tmp, 10 ) ); /* Q10 */ -#else - WB_fenv_fx[i] = round_fx( L_shl( L_tmp, 10 ) ); /* Q10 */ -#endif move16(); } ELSE @@ -2309,12 +2236,8 @@ static Word16 SWB_BWE_encoding_fx( L_tmp = Mpy_32_16( exp, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ tmp = round_fx( L_shl( L_tmp, 10 ) ); /* Q8 */ -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* For very small energies, log10 in Q8 smaller than -128.0, saturation can occur here. */ SWB_fenv_fx[n_band] = sub_sat( tmp, Mean_env_tr_fx[n_band] ); -#else - SWB_fenv_fx[n_band] = sub( tmp, Mean_env_tr_fx[n_band] ); -#endif move16(); /*Q8 */ } } @@ -2645,12 +2568,8 @@ static Word16 SWB_BWE_encoding_fx( { expn = sub( 30, add( expn, q_SWB_fenv[n_band] ) ); } - L_tmp = Mpy_32_16( expn, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ -#ifdef NONBE_FIX_ISSUE_2206 + L_tmp = Mpy_32_16( expn, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ SWB_fenv_fx[n_band] = round_fx( L_shl_sat( L_tmp, 10 ) ); /* Q8 */ -#else - SWB_fenv_fx[n_band] = round_fx( L_shl( L_tmp, 10 ) ); /* Q8 */ -#endif move16(); } ELSE @@ -2663,12 +2582,8 @@ static Word16 SWB_BWE_encoding_fx( FOR( n_band = 0; n_band < SWB_FENV; n_band++ ) { -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* For very small energies, log10 in Q8 smaller than -128.0, saturation can occur here. */ SWB_fenv_fx[n_band] = sub_sat( SWB_fenv_fx[n_band], Mean_env_fx[n_band] ); -#else - SWB_fenv_fx[n_band] = sub( SWB_fenv_fx[n_band], Mean_env_fx[n_band] ); -#endif move16(); } @@ -3117,10 +3032,8 @@ void fd_bwe_enc_init_fx( hBWE_FD->Q_new_input_hp = 0; move16(); set16_fx( hBWE_FD->old_input_fx, 0, NS2SA( 48000, DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->old_input_q = Q15; move16(); -#endif set16_fx( hBWE_FD->old_input_wb_fx, 0, NS2SA( 16000, DELAY_FD_BWE_ENC_12k8_NS ) ); set16_fx( hBWE_FD->old_input_lp_fx, 0, NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS ) ); set16_fx( hBWE_FD->old_syn_12k8_16k_fx, 0, NS2SA( 16000, DELAY_FD_BWE_ENC_NS ) ); @@ -3143,10 +3056,8 @@ void fd_bwe_enc_init_fx( hBWE_FD->prev_Q_input_lp = 0; move16(); set16_fx( hBWE_FD->old_fdbwe_speech_fx, 0, L_FRAME48k ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->old_fdbwe_speech_q = Q15; move16(); -#endif hBWE_FD->mem_deemph_old_syn_fx = 0; move16(); diff --git a/lib_enc/swb_bwe_enc_hr_fx.c b/lib_enc/swb_bwe_enc_hr_fx.c index 094310cdfb97aaed16f1acfc09f11105c0741451..429310f2a4de220b7929c2dee017f9b69a819f76 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_lr_fx.c b/lib_enc/swb_bwe_enc_lr_fx.c index c691af8ba3da056e8cd8a14b072fb6f169f286ef..fbcff9862fdbed52f4bfaca01d61a9e40b036cb8 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/swb_pre_proc_fx.c b/lib_enc/swb_pre_proc_fx.c index bd8a8b16070eff3013d6ce207d8b2219c1f2aaed..1e9b0bb6ee81dbdb07c0b1a6b541e06803b2015b 100644 --- a/lib_enc/swb_pre_proc_fx.c +++ b/lib_enc/swb_pre_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -35,16 +38,11 @@ /*========================================================================*/ void wb_pre_proc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - const Word16 last_element_mode, /* i : last element mode */ -#ifdef NONBE_FIX_ISSUE_2206 + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 last_element_mode, /* i : last element mode */ const Word16 *new_inp_resamp16k, /* i : original input signal in new_inp_resamp16k_q */ Word16 *hb_speech, /* o : HB target signal (6-8kHz) at 16kHz in new_inp_resamp16k_q */ const Word16 new_inp_resamp16k_q /* i : Q of new_inp_resamp16k */ -#else - const Word16 *new_inp_resamp16k, /* i : original input signal in Q-1 */ - Word16 *hb_speech /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ -#endif ) { Word16 Sample_Delay_WB_BWE; @@ -149,7 +147,6 @@ void wb_pre_proc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 IF( st_fx->element_mode != EVS_MONO ) { /* In case of EVS, hBWE_FD->old_input_wb_fx might saturate furher below. */ @@ -162,12 +159,6 @@ void wb_pre_proc_fx( Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( Q_wb_sp, -1 ) ); Scale_sig( hBWE_TD->decim_state2_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( Q_wb_sp, -1 ) ); /* temp_buf, and the memory states are in Q_wb_sp */ -#else - Copy_Scale_sig( new_inp_resamp16k, temp_buf, L_FRAME16k, Q_wb_sp ); - Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), Q_wb_sp ); - Scale_sig( hBWE_TD->decim_state2_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), Q_wb_sp ); - /* temp_buf, and the memory states are in Q_wb_sp */ -#endif test(); test(); @@ -203,31 +194,18 @@ void wb_pre_proc_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 /*Get past signal*/ Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k, old_input, STEREO_DFT_OVL_16k, sub( Q_wb_sp, st_fx->Q_old_wtda ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + STEREO_DFT_OVL_16k, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); /*Get new signal*/ Copy( temp_buf, &old_input[Sample_Delay_WB_BWE + STEREO_DFT_OVL_16k], L_FRAME16k ); -#else - /*Get past signal*/ - Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k, old_input, STEREO_DFT_OVL_16k, Q_wb_sp ); - Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + STEREO_DFT_OVL_16k, Sample_Delay_WB_BWE, Q_wb_sp ); - - /*Get new signal*/ - Copy( temp_buf, &old_input[Sample_Delay_WB_BWE + STEREO_DFT_OVL_16k], L_FRAME16k ); -#endif /*compute hb_speech on delayed input*/ flip_spectrum_and_decimby4_fx( old_input + Sample_Delay_WB_BWE, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); /*Update memory*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( L_SUBFR * 5 / 16 ), STEREO_DFT_OVL_16k / 4, sub( -1, Q_wb_sp ) ); -#else - Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( L_SUBFR * 5 / 16 ), STEREO_DFT_OVL_16k / 4, -Q_wb_sp ); -#endif Copy( hb_speech + STEREO_DFT_OVL_16k / 4, hb_speech, ( L_FRAME16k - STEREO_DFT_OVL_16k ) / 4 ); /*rest without memory update*/ @@ -252,21 +230,12 @@ void wb_pre_proc_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 /*Get past signal*/ Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, sub( Q_wb_sp, st_fx->Q_old_wtda ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); /* Saturation added to prevent the crash. Needs further review */ old_input[Sample_Delay_WB_BWE] = shl_sat( hBWE_FD->mem_old_wtda_swb_fx, sub( Q_wb_sp, -1 ) ); -#else - /*Get past signal*/ - Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, Q_wb_sp ); - Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, Q_wb_sp ); - - /* Saturation added to prevent the crash. Needs further review */ - old_input[Sample_Delay_WB_BWE] = shl_sat( hBWE_FD->mem_old_wtda_swb_fx, Q_wb_sp ); -#endif /*Get new signal*/ Copy( temp_buf, old_input + Sample_Delay_WB_BWE + l_recalc_16k, L_FRAME16k ); @@ -275,11 +244,7 @@ void wb_pre_proc_fx( flip_spectrum_and_decimby4_fx( old_input + Sample_Delay_WB_BWE, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); /*Update memory*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, sub( -1, Q_wb_sp ) ); -#else - Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, -Q_wb_sp ); -#endif Copy( hb_speech + l_recalc_4k, hb_speech, ( L_FRAME16k / 4 ) - l_recalc_4k ); /*rest without memory update*/ @@ -302,13 +267,8 @@ void wb_pre_proc_fx( Sample_Delay_WB_BWE = NS2SA( 16000, DELAY_FD_BWE_ENC_12k8_NS ); /*Get past signal*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, sub( Q_wb_sp, st_fx->Q_old_wtda ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); -#else - Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, Q_wb_sp ); - Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, Q_wb_sp ); -#endif /*Get new signal*/ Copy( temp_buf, old_input + Sample_Delay_WB_BWE + l_recalc_16k, L_FRAME16k ); @@ -317,11 +277,7 @@ void wb_pre_proc_fx( flip_spectrum_and_decimby4_fx( old_input + Sample_Delay_WB_BWE, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); /* update hBWE_TD->old_speech_wb memory */ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, sub( -1, Q_wb_sp ) ); -#else - Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, -Q_wb_sp ); -#endif Copy( hb_speech + l_recalc_4k, hb_speech, ( L_FRAME16k / 4 ) - l_recalc_4k ); /*rest without memory update*/ @@ -336,7 +292,6 @@ void wb_pre_proc_fx( flip_spectrum_and_decimby4_fx( temp_buf, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); } -#ifdef NONBE_FIX_ISSUE_2206 /* rescale the hb_speech and memories back to -1 */ Scale_sig( hb_speech, L_FRAME16k / 4, sub( new_inp_resamp16k_q, Q_wb_sp ) ); Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( -1, Q_wb_sp ) ); @@ -346,12 +301,6 @@ void wb_pre_proc_fx( Q_wb_sp = new_inp_resamp16k_q; move16(); } -#else - /* rescale the hb_speech and memories back to Q-1 to keep the downstream BWE coding unaffected */ - Scale_sig( hb_speech, L_FRAME16k / 4, negate( Q_wb_sp ) ); - Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), negate( Q_wb_sp ) ); - Scale_sig( hBWE_TD->decim_state2_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), negate( Q_wb_sp ) ); -#endif IF( NE_16( st_fx->extl, WB_TBE ) ) { @@ -360,11 +309,7 @@ void wb_pre_proc_fx( highband_new_speech = highband_old_speech + Sample_Delay_WB_BWE; Copy( hb_speech, highband_new_speech, L_FRAME16k / 4 ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( highband_old_speech + L_FRAME16k / 4, hBWE_TD->old_speech_wb_fx, Sample_Delay_WB_BWE, sub( -1, new_inp_resamp16k_q ) ); -#else - Copy( highband_old_speech + L_FRAME16k / 4, hBWE_TD->old_speech_wb_fx, Sample_Delay_WB_BWE ); -#endif } } } @@ -378,11 +323,7 @@ void wb_pre_proc_fx( test(); if ( hBWE_FD != NULL && st_fx->element_mode != EVS_MONO ) { -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->mem_old_wtda_swb_fx = shl( new_inp_resamp16k[L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k - 1], sub( -1, new_inp_resamp16k_q ) ); -#else - hBWE_FD->mem_old_wtda_swb_fx = new_inp_resamp16k[L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k - 1]; -#endif move16(); } @@ -394,7 +335,6 @@ void wb_pre_proc_fx( { Sample_Delay_WB_BWE = NS2SA( 16000, DELAY_FD_BWE_ENC_12k8_NS ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( new_inp_resamp16k, &old_input[Sample_Delay_WB_BWE], L_FRAME16k, sub( Q_wb_sp, new_inp_resamp16k_q ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); IF( LT_16( sub( -1, new_inp_resamp16k_q ), -15 ) ) @@ -406,22 +346,13 @@ void wb_pre_proc_fx( /* Saturation can occur. To avoid that the format of hBWE_FD->old_input_wb_fx needs to become variable. */ Copy_Scale_sig( new_inp_resamp16k + L_FRAME16k - Sample_Delay_WB_BWE, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE, sub( -1, new_inp_resamp16k_q ) ); } -#else - Copy( new_inp_resamp16k, &old_input[Sample_Delay_WB_BWE], L_FRAME16k ); - Copy( hBWE_FD->old_input_wb_fx, old_input, Sample_Delay_WB_BWE ); - Copy( new_inp_resamp16k + L_FRAME16k - Sample_Delay_WB_BWE, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE ); -#endif test(); IF( NE_16( st_fx->extl, SWB_BWE ) && NE_16( st_fx->extl, FB_BWE ) ) { Copy( old_input, hBWE_FD->L_old_wtda_swb_fx, L_FRAME16k ); if ( st_fx->element_mode != EVS_MONO ) { -#ifdef NONBE_FIX_ISSUE_2206 st_fx->Q_old_wtda = Q_wb_sp; -#else - st_fx->Q_old_wtda = -Q1; -#endif move16(); } } @@ -457,14 +388,10 @@ void wb_pre_proc_fx( /*========================================================================*/ void swb_pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ - Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ -#else - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - Q0 */ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ + Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ + Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer Q - q_reImbuffer */ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer Q - q_reImbuffer */ Word16 q_reImBuffer, /* i : scale data of real and imag CLDFB buffers */ @@ -515,13 +442,11 @@ void swb_pre_proc_fx( set16_fx( old_input_fx, 0, NS2SA( 48000, DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k ); -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { scale_sig( st->hBWE_TD->dec_2_over_3_mem_lp_fx, 6, sub( st->q_inp, st->hBWE_TD->dec_2_over_3_mem_q ) ); scale_sig( st->hBWE_TD->dec_2_over_3_mem_fx, L_FILT_2OVER3, sub( st->q_inp, st->hBWE_TD->dec_2_over_3_mem_q ) ); } -#endif IF( EQ_32( st->input_Fs, 32000 ) ) { @@ -533,46 +458,27 @@ void swb_pre_proc_fx( Sample_Delay_SWB_BWE = NS2SA( 32000, DELAY_FD_BWE_ENC_16k_NS ); } -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->old_fdbwe_speech_q = s_min( Q14, add( st->q_old_inp, norm_arr( st->input_fx - L_FRAME32k, L_FRAME32k ) ) ); move16(); Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = st->q_old_inp; move16(); Copy_Scale_sig_nosat( st->input_fx - L_FRAME32k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k, sub( hBWE_FD->old_fdbwe_speech_q, st->q_old_inp ) ); -#else - Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); - Copy( st->input_fx - L_FRAME32k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k ); -#endif -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp = s_min( st->q_inp, st->Q_old_wtda ); scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( tmp, st->Q_old_wtda ) ); // st->Q_old_wtda -> tmp st->Q_old_wtda = tmp; // st->Q_old_wtda = tmp; move16(); -#else - scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( st->q_inp, st->Q_old_wtda ) ); // st->Q_old_wtda -> st->q_inp - st->Q_old_wtda = st->q_inp; // st->Q_old_wtda = st->q_inp; - move16(); -#endif test(); test(); IF( EQ_16( st->element_mode, IVAS_CPE_TD ) && GE_16( st->bwidth, SWB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ) ); -#endif } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) && GE_16( st->bwidth, SWB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ), sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ) ); -#endif } } @@ -593,7 +499,6 @@ void swb_pre_proc_fx( Sample_Delay_SWB_BWE = sub( Sample_Delay_SWB_BWE, NS2SA( 32000, DELAY_FIR_RESAMPL_NS ) ); } -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { Copy_Scale_sig_nosat( hBWE_FD->old_fdbwe_speech_fx, &old_input_fx[Sample_Delay_SWB_BWE], L_FRAME32k, sub( st->q_inp, hBWE_FD->old_fdbwe_speech_q ) ); @@ -607,12 +512,6 @@ void swb_pre_proc_fx( Copy( hBWE_FD->old_fdbwe_speech_fx + L_FRAME32k - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); } set16_fx( old_input_fx, 0, Sample_Delay_SWB_BWE ); -#else - Copy( hBWE_FD->old_fdbwe_speech_fx, &old_input_fx[Sample_Delay_SWB_BWE], L_FRAME32k ); - - set16_fx( old_input_fx, 0, Sample_Delay_SWB_BWE ); - Copy( hBWE_FD->old_fdbwe_speech_fx + L_FRAME32k - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif IF( NE_16( st->extl, WB_BWE ) ) { @@ -628,13 +527,9 @@ void swb_pre_proc_fx( test(); IF( NE_16( st->extl, SWB_BWE ) && NE_16( st->extl, FB_BWE ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k ); hBWE_FD->old_fdbwe_speech_q = st->q_inp; move16(); -#else - Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k ); -#endif } } ELSE /* 48 kHz */ @@ -668,33 +563,19 @@ void swb_pre_proc_fx( } ELSE IF( EQ_16( st->bwidth, FB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = st->q_old_inp; move16(); -#else - Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif } -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx - L_FRAME48k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); hBWE_FD->old_fdbwe_speech_q = st->q_old_inp; move16(); -#else - Copy( st->input_fx - L_FRAME48k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); -#endif -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp = s_min( st->Q_old_wtda, st->q_inp ); scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( tmp, st->Q_old_wtda ) ); st->Q_old_wtda = tmp; move16(); -#else - scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( st->q_inp, st->Q_old_wtda ) ); // st->Q_old_wtda -> st->q_inp - st->Q_old_wtda = st->q_inp; - move16(); -#endif test(); test(); @@ -707,27 +588,17 @@ void swb_pre_proc_fx( decimate_2_over_3_allpass_fx( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hCPE->hStereoTCA->lMemRecalc, spchTmp, hBWE_TD->dec_2_over_3_mem_fx, allpass_poles_3_ov_2, decimate_3_ov_2_lowpass_num_fx, decimate_3_ov_2_lowpass_den_fx, hBWE_TD->dec_2_over_3_mem_lp_fx ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ), sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ), sub( st->Q_old_wtda, st->q_inp ) ); Copy( spchTmp + lMemRecalc32k - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); hBWE_FD->old_input_q = st->q_inp; move16(); -#else - Copy( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ), sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ) ); - Copy( spchTmp + lMemRecalc32k - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); -#endif } ELSE /* FB_BWE */ { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( st->Q_old_wtda, st->q_old_inp ) ); Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = st->q_old_inp; move16(); -#else - Copy( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ) ); - Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif } } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) && GE_16( st->bwidth, SWB ) ) @@ -736,19 +607,11 @@ void swb_pre_proc_fx( { lerp( st->input_fx - hCPE->hStereoDft->dft_ovl, spchTmp, dft_ovl32k - Sample_Delay_SWB_BWE32k, hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - ( dft_ovl32k - Sample_Delay_SWB_BWE32k ), dft_ovl32k - Sample_Delay_SWB_BWE32k, sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - ( dft_ovl32k - Sample_Delay_SWB_BWE32k ), dft_ovl32k - Sample_Delay_SWB_BWE32k ); -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - ( hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ), hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE, sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - ( hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ), hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ); -#endif } } } @@ -760,13 +623,9 @@ void swb_pre_proc_fx( IF( ( NE_16( st->extl, SWB_BWE ) && NE_16( st->extl, FB_BWE ) && ( st->core == ACELP_CORE ) ) || ( EQ_16( st->element_mode, IVAS_CPE_DFT ) && ( st->core != ACELP_CORE ) ) /*resampling not needed for MDCT cores*/ ) { /* move the resampling out of the TDBWE path as new_swb_speech is not needed for TDBWE. */ -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); hBWE_FD->old_fdbwe_speech_q = st->q_inp; move16(); -#else - Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); -#endif } ELSE { @@ -780,11 +639,7 @@ void swb_pre_proc_fx( move16(); inner_Fs = 48000; move32(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, L_FRAME48k, sub( st->q_inp, hBWE_FD->old_fdbwe_speech_q ) ); -#else - Copy( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, L_FRAME48k ); -#endif } ELSE { @@ -793,7 +648,6 @@ void swb_pre_proc_fx( inner_Fs = 32000; move32(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, L_FRAME48k, sub( st->q_inp, hBWE_FD->old_fdbwe_speech_q ) ); IF( NE_16( st->element_mode, IVAS_CPE_DFT ) ) @@ -804,21 +658,10 @@ void swb_pre_proc_fx( { lerp( new_swb_speech, new_swb_speech, inner_frame, L_FRAME48k ); } -#else - IF( NE_16( st->element_mode, IVAS_CPE_DFT ) ) - { - decimate_2_over_3_allpass_fx( hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k, new_swb_speech, hBWE_TD->dec_2_over_3_mem_fx, allpass_poles_3_ov_2, decimate_3_ov_2_lowpass_num_fx, decimate_3_ov_2_lowpass_den_fx, hBWE_TD->dec_2_over_3_mem_lp_fx ); - } - ELSE - { - lerp( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, inner_frame, L_FRAME48k ); - } -#endif test(); IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) && st->idchan == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 FOR( i = 0; i < STEREO_DFT_OVL_32k; i++ ) { hCPE->hStereoDft->output_mem_dmx_32k_fx[i] = Mpy_32_16_1( hCPE->hStereoDft->win_32k_fx[STEREO_DFT_OVL_32k - 1 - i], new_swb_speech[( ( inner_frame + i ) - STEREO_DFT_OVL_32k )] ); @@ -826,13 +669,6 @@ void swb_pre_proc_fx( } hCPE->hStereoDft->output_mem_dmx_32k_q = add( st->q_inp, 16 ); move16(); -#else - FOR( i = 0; i < STEREO_DFT_OVL_32k; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_32k_fx[i] = L_shr( Mpy_32_16_1( hCPE->hStereoDft->win_32k_fx[STEREO_DFT_OVL_32k - 1 - i], new_swb_speech[( ( inner_frame + i ) - STEREO_DFT_OVL_32k )] ), 1 ); // Q15 - move32(); - } -#endif } } @@ -851,16 +687,12 @@ void swb_pre_proc_fx( Copy( new_swb_speech, &old_input_fx[Sample_Delay_SWB_BWE], inner_frame ); set16_fx( old_input_fx, 0, Sample_Delay_SWB_BWE ); -#ifdef NONBE_FIX_ISSUE_2206 Copy( new_swb_speech + inner_frame - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); if ( st->element_mode != EVS_MONO ) { hBWE_FD->old_input_q = st->q_inp; move16(); } -#else - Copy( new_swb_speech + inner_frame - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif Copy( old_input_fx, hBWE_FD->L_old_wtda_swb_fx, inner_frame ); st->Q_old_wtda = st->q_inp; move16(); @@ -895,7 +727,6 @@ void swb_pre_proc_fx( } ELSE /* IVAS_CPE_DFT */ { -#ifdef NONBE_FIX_ISSUE_2206 Word32 new_swb_speech_buffer_fx[L_FRAME48k + STEREO_DFT_OVL_MAX]; Word16 out_start_ind, out_end_ind, new_swb_speech_q; Word32 *new_swb_speech_fx; @@ -909,17 +740,6 @@ void swb_pre_proc_fx( Copy( new_swb_speech - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); hBWE_FD->old_input_q = st->q_inp; move16(); -#else - Word16 out_start_ind, out_end_ind; - Word32 new_swb_speech_buffer_fx[L_FRAME48k + STEREO_DFT_OVL_MAX]; - Word32 *new_swb_speech_fx; - set32_fx( new_swb_speech_buffer_fx, 0, L_FRAME48k + STEREO_DFT_OVL_MAX ); - new_swb_speech_fx = new_swb_speech_buffer_fx + STEREO_DFT_OVL_MAX; - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, new_swb_speech_fx, &out_start_ind, &out_end_ind, st->idchan, input_Fs, 32000, 0, NULL ); - Copy_Scale_sig32_16( new_swb_speech_fx - STEREO_DFT_OVL_MAX, new_swb_speech - STEREO_DFT_OVL_MAX, L_FRAME48k + STEREO_DFT_OVL_MAX, add( st->q_inp, add( q_reImBuffer, 1 ) ) ); // st->q_inp - - Copy( new_swb_speech - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); // st->q_inp -#endif } } } @@ -962,28 +782,16 @@ void swb_pre_proc_fx( { Word16 out_start_ind, out_end_ind; Word16 exp_icbweRefEner_fx; -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_input32_q = add( st->q_inp, Q16 ); move16(); Copy_Scale_sig_16_32_no_sat( (const Word16 *) &old_input_fx[0], &old_input_fx_32[0], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k, Q16 ); // old_input_q CldfbHB_fx = stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_input_fx_32 + STEREO_DFT_OVL_16k, &old_input32_q, &out_start_ind, &out_end_ind, st->idchan, input_Fs, 16000, st->L_frame, &CldfbHB_fx_e ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 old_input_q; old_input_q = s_min( sub( old_input32_q, Q16 ), st->q_inp ); Copy_Scale_sig_32_16_nosat( (const Word32 *) &old_input_fx_32[0], &old_input_fx[0], out_end_ind + STEREO_DFT_OVL_16k, sub( old_input_q, old_input32_q ) ); Copy_Scale_sig_32_16_nosat( (const Word32 *) &old_input_fx_32[out_end_ind + STEREO_DFT_OVL_16k], &old_input_fx[out_end_ind + STEREO_DFT_OVL_16k], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k - STEREO_DFT_OVL_16k - out_end_ind, sub( old_input_q, add( st->q_inp, Q16 ) ) ); -#else - Copy_Scale_sig_32_16( (const Word32 *) &old_input_fx_32[0], &old_input_fx[0], out_end_ind + STEREO_DFT_OVL_16k, sub( 0, old_input32_q ) ); // Q0 - Copy_Scale_sig_32_16( (const Word32 *) &old_input_fx_32[out_end_ind + STEREO_DFT_OVL_16k], &old_input_fx[out_end_ind + STEREO_DFT_OVL_16k], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k - STEREO_DFT_OVL_16k - out_end_ind, sub( 0, add( st->q_inp, Q16 ) ) ); // Q0 -#endif -#else - Copy_Scale_sig_16_32_DEPREC( (const Word16 *) &old_input_fx[0], &old_input_fx_32[0], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k, Q15 ); // Q15 - CldfbHB_fx = stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_input_fx_32 + STEREO_DFT_OVL_16k, &out_start_ind, &out_end_ind, st->idchan, input_Fs, 16000, st->L_frame, &CldfbHB_fx_e ); - Copy_Scale_sig_32_16( (const Word32 *) &old_input_fx_32[0], &old_input_fx[0], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k, -Q15 ); // Q0 -#endif /* delay corresponding to CLDFB delay */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy( old_input_fx + STEREO_DFT_OVL_16k - 20, shb_speech, L_FRAME16k ); // old_input_q *shb_speech_q = old_input_q; move16(); @@ -995,11 +803,6 @@ void swb_pre_proc_fx( Copy( old_input_fx, hCPE->hStereoICBWE->mem_shb_speech_ref_fx, STEREO_DFT_OVL_16k - 20 ); // old_input_q hCPE->hStereoICBWE->mem_shb_speech_ref_e = sub( Q15, old_input_q ); move16(); -#else - Copy( old_input_fx + STEREO_DFT_OVL_16k - 20, shb_speech, L_FRAME16k ); - Copy( old_input_fx, hBWE_TD->old_speech_shb_fx + L_LOOK_16k + L_SUBFR16k - ( STEREO_DFT_OVL_16k - 20 ), STEREO_DFT_OVL_16k - 20 ); - Copy( old_input_fx, hCPE->hStereoICBWE->mem_shb_speech_ref_fx, STEREO_DFT_OVL_16k - 20 ); // Q0 -#endif hCPE->hStereoICBWE->mem_shb_speech_ref_e = 15; move16(); @@ -1110,9 +913,7 @@ void swb_pre_proc_fx( hBWE_TD->cldfbHBLT = mac_r( lbEner, 29491 /*0.9 Q15*/, hBWE_TD->cldfbHBLT ); /* cldfbHBLT is in Q13 */ cldfbSynthesis_fx( st->cldfbSynTd, realBufferFlipped, imagBufferFlipped, cldfbScale, shb_speech, 0, CLDFB_NO_COL_MAX, cldfbWorkBuffer ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT assert( shb_speech_q == NULL ); -#endif } test(); @@ -1122,9 +923,7 @@ void swb_pre_proc_fx( /* Update the previous superwideband speech buffer in case of a SWB_BWE frame - this code is in swb_tbe_enc */ delay = L_LOOK_16k + L_SUBFR16k; Copy( shb_speech + L_FRAME16k - delay, hBWE_TD->old_speech_shb_fx, delay ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT assert( shb_speech_q == NULL ); -#endif } thr = 0; // just to avoid warnings @@ -1279,13 +1078,9 @@ void swb_pre_proc_fx( regV = icbwe_regressionValuesTDM_fx; cldfbSynthesis_ivas_fx( realBufferFlipped, imagBufferFlipped, shb_speech_fx_32, -1, 0, 0, st->cldfbSynTd ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy_Scale_sig_32_16( shb_speech_fx_32, shb_speech, L_FRAME16k, 0 ); *shb_speech_q = sub( q_reImBuffer, 1 ); move16(); -#else - Copy_Scale_sig_32_16( shb_speech_fx_32, shb_speech, L_FRAME16k, negate( sub( q_reImBuffer, 1 ) ) ); // Q0 -#endif st->cldfbSynTd->Q_cldfb_state = sub( q_reImBuffer, 1 ); } @@ -1383,13 +1178,11 @@ void swb_pre_proc_fx( delay = L_LOOK_16k + L_SUBFR16k; move16(); Copy( shb_speech + sub( L_FRAME16k, delay ), hBWE_TD->old_speech_shb_fx, delay ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT if ( shb_speech_q != NULL ) { hBWE_TD->old_speech_shb_q = *shb_speech_q; move16(); } -#endif } } ELSE @@ -1442,7 +1235,6 @@ void swb_pre_proc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 Word16 spchTmp_Q; IF( st->element_mode == EVS_MONO ) @@ -1455,14 +1247,10 @@ void swb_pre_proc_fx( scale_sig( hBWE_TD->state_ana_filt_shb_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( spchTmp_Q, hBWE_TD->state_ana_filt_shb_fx_Q ) ); scale_sig( spchTmp, L_FRAME32k, sub( spchTmp_Q, st->q_inp ) ); } -#endif Decimate_allpass_steep_fx( spchTmp, hBWE_TD->state_ana_filt_shb_fx, L_FRAME32k, shb_speech ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->state_ana_filt_shb_fx_Q = spchTmp_Q; move16(); -#endif -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT if ( shb_speech_q != NULL ) { *shb_speech_q = spchTmp_Q; @@ -1471,35 +1259,17 @@ void swb_pre_proc_fx( Copy( shb_speech + L_FRAME16k - ( L_LOOK_16k + L_SUBFR16k ), hBWE_TD->old_speech_shb_fx, L_LOOK_16k + L_SUBFR16k ); hBWE_TD->old_speech_shb_q = spchTmp_Q; move16(); -#else -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( shb_speech, L_FRAME16k, sub( 0, spchTmp_Q ) ); // Q_shb_spch = 0 -#endif - Copy( shb_speech + L_FRAME16k - ( L_LOOK_16k + L_SUBFR16k ), hBWE_TD->old_speech_shb_fx, L_LOOK_16k + L_SUBFR16k ); -#endif /*Compute the past overlap for potential next iDFTs SHB*/ IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ ) { hCPE->hStereoDft->output_mem_dmx_16k_shb_fx[i] = L_mult( shb_speech[20 + i], mult_r( hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i], hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i] ) ); move32(); } -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hCPE->hStereoDft->output_mem_dmx_16k_shb_q = add( Q16, spchTmp_Q ); -#else - hCPE->hStereoDft->output_mem_dmx_16k_shb_q = Q16; -#endif move16(); -#else - FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_16k_shb_fx[i] = L_mult0( shb_speech[20 + i], mult_r( hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i], hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i] ) ); // Q15 - move32(); - } -#endif } } @@ -1535,13 +1305,11 @@ void swb_pre_proc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { st->hBWE_TD->dec_2_over_3_mem_q = st->q_inp; move16(); } -#endif return; } diff --git a/lib_enc/swb_tbe_enc_fx.c b/lib_enc/swb_tbe_enc_fx.c index 5128ca77f790a27f9d03869a8ded9f16402dd1cb..e1192057df9e10a229e2130006ac7c013fa4a1f4 100644 --- a/lib_enc/swb_tbe_enc_fx.c +++ b/lib_enc/swb_tbe_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -65,11 +68,7 @@ static void Quant_shb_ener_sf_fx( Encoder_State *st_fx, Word32 *shb_ener_sf_Q31, static void Quant_shb_res_gshape_fx( Encoder_State *st, Word16 shb_res_gshape_fx[] ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT static void gainFrSmooth_En_fx( Encoder_State *st_fx, Word16 *shb_frame_fx, Word16 shb_frame_q, const Word16 *lpc_shb_fx /* Q12 */, const Word16 *lsp_shb_fx /* Q15 */, Word16 *MA_lsp_shb_spacing /* Q15 */, Word16 *frGainAttenuate /* Q0 */, Word16 *frGainSmoothEn /* Q0 */ ); -#else -static void gainFrSmooth_En_fx( Encoder_State *st_fx, Word16 *shb_frame_fx /* Q_in */, const Word16 *lpc_shb_fx /* Q12 */, const Word16 *lsp_shb_fx /* Q15 */, Word16 *MA_lsp_shb_spacing /* Q15 */, Word16 *frGainAttenuate /* Q0 */, Word16 *frGainSmoothEn /* Q0 */ ); -#endif /*-------------------------------------------------------------------* @@ -398,10 +397,8 @@ void InitSWBencBuffer_fx( move32(); set16_fx( hBWE_TD->state_ana_filt_shb_fx, 0, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->state_ana_filt_shb_fx_Q = Q15; move16(); -#endif set32_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx[0], 0, 4 ); set32_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx[1], 0, 4 ); set32_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx[2], 0, 4 ); @@ -410,10 +407,8 @@ void InitSWBencBuffer_fx( move16(); set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif set16_fx( hBWE_TD->old_speech_wb_fx, 0, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set16_fx( hBWE_TD->old_input_fhb_fx, 0, NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2 ); hBWE_TD->old_input_fhb_fx_Q = 0; @@ -434,10 +429,8 @@ void InitSWBencBuffer_fx( set16_fx( hBWE_TD->lsp_shb_slow_interpl_fx, 0, LPC_SHB_ORDER ); set16_fx( hBWE_TD->lsp_shb_fast_interpl_fx, 0, LPC_SHB_ORDER ); set16_fx( hBWE_TD->shb_inv_filt_mem_fx, 0, LPC_SHB_ORDER ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->shb_inv_filt_mem_q = Q15; move16(); -#endif set16_fx( hBWE_TD->lsp_shb_spacing_fx, 3277 /* 0.1f in Q15 */, 3 ); set16_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx_Q, 0, 4 ); @@ -474,10 +467,8 @@ void InitSWBencBuffer_fx( set16_fx( hBWE_TD->dec_2_over_3_mem_fx, 0, 12 ); set16_fx( hBWE_TD->dec_2_over_3_mem_lp_fx, 0, 6 ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->dec_2_over_3_mem_q = Q15; move16(); -#endif hBWE_TD->prev_fb_energy_fx_Q = 0; move16(); @@ -576,13 +567,9 @@ void ResetSHBbuffer_Enc_fx( #define WBTBE_LPCWIN_LENGTH ( L_LOOK_12k8 + L_SUBFR + L_FRAME ) * 5 / 16 - 1 void wb_tbe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ - const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ -#else - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz Q(-1) */ -#endif + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ + const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ const Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation Q(2*Q_new) */ const Word16 Q_new, /* i : input HB speech Q factor */ const Word16 voice_factors[], /* i : voicing factors Q15 */ @@ -634,21 +621,13 @@ void wb_tbe_enc_fx( hb_new_speech = hb_old_speech + WBTBE_LOOK_LSUFBR_5_OVER_16; hb_frame = hb_old_speech + WBTBE_LSUBFR_5_OVER_16 + WBTBE_ANA_ALIGNDELAY; -#ifdef NONBE_FIX_ISSUE_2206 IF( st_fx->element_mode != EVS_MONO ) { Q_ns = s_min( q_hb_speech, add( -1, norm_arr( hBWE_TD->old_speech_wb_fx, WBTBE_LOOK_LSUFBR_5_OVER_16 ) ) ); } Copy_Scale_sig_nosat( hBWE_TD->old_speech_wb_fx, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16, s_min( 15, sub( Q_ns, -1 ) ) ); -#else - Copy( hBWE_TD->old_speech_wb_fx, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16 ); -#endif Copy( hb_speech, hb_new_speech, LFRAME16K_OVER_4 ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hb_old_speech + LFRAME16K_OVER_4, hBWE_TD->old_speech_wb_fx, WBTBE_LOOK_LSUFBR_5_OVER_16, sub( -1, Q_ns ) ); -#else - Copy( hb_old_speech + LFRAME16K_OVER_4, hBWE_TD->old_speech_wb_fx, WBTBE_LOOK_LSUFBR_5_OVER_16 ); -#endif test(); test(); @@ -659,11 +638,7 @@ void wb_tbe_enc_fx( IF( ( NE_16( st_fx->last_extl, WB_TBE ) && NE_16( st_fx->last_extl, WB_BWE ) ) && ( st_fx->clas == UNVOICED_CLAS || ( LT_16( st_fx->voicing_fx[0], 16384 ) && LT_16( st_fx->voicing_fx[1], 16384 ) && LT_16( st_fx->voicing_fx[2], 16384 ) ) ) && !st_fx->igf ) { /* In case of unvoiced signals after switching cores, back-propagate the target signal */ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hb_speech, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16, sub( Q_ns, q_hb_speech ) ); -#else - Copy( hb_speech, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16 ); -#endif i = WBTBE_LOOK_LSUFBR_5_OVER_16; move16(); @@ -685,11 +660,7 @@ void wb_tbe_enc_fx( FOR( j = 0; j < L_SUBFR16k; j = j + 4 ) { L_tmp = L_mult( hb_old_speech[i], ola_win_shb_switch_fold_fx[j] ); -#ifdef NONBE_FIX_ISSUE_2206 hb_old_speech[i] = mac_r_sat( L_tmp, shl( hb_speech[k], sub( Q_ns, q_hb_speech ) ), ola_win_shb_switch_fold_fx[L_SUBFR16k - 4 - j] ); -#else - hb_old_speech[i] = mac_r_sat( L_tmp, hb_speech[k], ola_win_shb_switch_fold_fx[L_SUBFR16k - 4 - j] ); -#endif move16(); i--; k++; @@ -1398,19 +1369,15 @@ void fb_tbe_reset_enc_fx( void swb_tbe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb */ -#else - Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif - Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation 2 * Q_new */ - const Word16 voice_factors_fx[], /* i : voicing factors Q15 */ - Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE Q_white_exc */ - Word16 *Q_white_exc, /* o : generated white noise for FB Q factor */ - Word16 Q_new, /* i : Q_new */ - Word16 Q_shb, /* i : SHB target Q factor */ - Word16 *voicing, /* i : OL maximum normalized correlation */ - const Word16 pitch_buf[] /* i : subframe pitch Q6 */ + Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb */ + Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation 2 * Q_new */ + const Word16 voice_factors_fx[], /* i : voicing factors Q15 */ + Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE Q_white_exc */ + Word16 *Q_white_exc, /* o : generated white noise for FB Q factor */ + Word16 Q_new, /* i : Q_new */ + Word16 Q_shb, /* i : SHB target Q factor */ + Word16 *voicing, /* i : OL maximum normalized correlation */ + const Word16 pitch_buf[] /* i : subframe pitch Q6 */ ) { @@ -1564,7 +1531,6 @@ void swb_tbe_enc_fx( shb_new_speech_fx = shb_old_speech_fx + delay; } -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 Q_shb2; Q_shb2 = s_min( Q_shb, hBWE_TD->old_speech_shb_q ); @@ -1581,11 +1547,6 @@ void swb_tbe_enc_fx( Copy_Scale_sig_nosat( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, delay, Q_shb2 ); hBWE_TD->old_speech_shb_q = add( Q_shb, Q_shb2 ); move16(); -#else - Copy( hBWE_TD->old_speech_shb_fx, shb_old_speech_fx, delay ); - Copy( shb_speech_fx, shb_new_speech_fx, L_FRAME16k ); - Copy( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, delay ); -#endif /* autocorrelation of SHB speech for 10-th order LP analysis */ autocorr_fx( shb_old_speech_fx, @@ -1708,11 +1669,7 @@ void swb_tbe_enc_fx( /* Input signal filtering in case of tonal sounds in the high band gain Frame smoothing and attenuation control */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT gainFrSmooth_En_fx( st_fx, shb_frame_fx, Q_shb, lpc_shb_fx, lsf_shb_fx, &MA_lsp_shb_spacing, &frGainAttenuate, &frGainSmoothEn ); -#else - gainFrSmooth_En_fx( st_fx, shb_frame_fx, lpc_shb_fx, lsf_shb_fx, &MA_lsp_shb_spacing, &frGainAttenuate, &frGainSmoothEn ); -#endif test(); test(); @@ -2159,11 +2116,7 @@ void swb_tbe_enc_fx( /* calculate variance of the SHB autocorrelation function */ // acorr_v2a = sum2_f( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ) / ( ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ); tmp_e = sub( 15, Q_shb ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - L_tmp = Mpy_32_32( sum2_16_exp_fx( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN, &tmp_e, 0 ), 53687091 /* 1 / ( ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ) in Q31 */ ); -#else L_tmp = Mpy_32_32( sum2_16_exp_fx( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN, &tmp_e, 0 ), 53687091 /* 1 / ( ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ) in Q31 */ ); -#endif /* multiply with the maximum of the SHB autocorrelation function */ maximum_fx( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN, &temp ); @@ -4773,12 +4726,8 @@ static Word16 Find_LSF_grid_fx( static void gainFrSmooth_En_fx( Encoder_State *st_fx, -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 *shb_frame_fx /* shb_frame_q */, Word16 shb_frame_q /* Q_in */, -#else - Word16 *shb_frame_fx /* Q_in */, -#endif const Word16 *lpc_shb_fx /* Q12 */, const Word16 *lsp_shb_fx /* Q15 */, Word16 *MA_lsp_shb_spacing /* Q15 */, @@ -4864,10 +4813,8 @@ static void gainFrSmooth_En_fx( hBWE_TD->prev_frGainAtten = 1; move16(); set16_fx( hBWE_TD->shb_inv_filt_mem_fx, 0, LPC_SHB_ORDER ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->shb_inv_filt_mem_q = Q15; move16(); -#endif } /* Estimate the moving average LSP spacing */ @@ -4894,15 +4841,9 @@ static void gainFrSmooth_En_fx( IF( NE_32( st_fx->total_brate, ACELP_24k40 ) ) { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527 Scale_sig( hBWE_TD->shb_inv_filt_mem_fx, LPC_SHB_ORDER, sub( shb_frame_q, hBWE_TD->shb_inv_filt_mem_q ) ); -#else - scale_sig( hBWE_TD->shb_inv_filt_mem_fx, LPC_SHB_ORDER, sub( shb_frame_q, hBWE_TD->shb_inv_filt_mem_q ) ); -#endif hBWE_TD->shb_inv_filt_mem_q = shb_frame_q; move16(); -#endif Copy( shb_frame_fx, temp_shb_frame, L_FRAME16k + L_SHB_LAHEAD ); fir_fx( temp_shb_frame, lpc_shb_fx, shb_frame_fx, hBWE_TD->shb_inv_filt_mem_fx, L_FRAME16k + L_SHB_LAHEAD, LPC_SHB_ORDER, 1, 3 ); } @@ -5745,10 +5686,8 @@ void TBEreset_enc_fx( ELSE IF( ( EQ_16( bandwidth, SWB ) ) || ( EQ_16( bandwidth, FB ) ) ) { set16_fx( hBWE_TD->state_ana_filt_shb_fx, 0, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->state_ana_filt_shb_fx_Q = Q15; move16(); -#endif swb_tbe_reset_fx( hBWE_TD->mem_csfilt_fx, hBWE_TD->mem_genSHBexc_filt_down_shb_fx, hBWE_TD->state_lpc_syn_fx, hBWE_TD->syn_overlap_fx, hBWE_TD->state_syn_shbexc_fx, &( hBWE_TD->tbe_demph_fx ), &( hBWE_TD->tbe_premph_fx ), @@ -5783,10 +5722,8 @@ void InitSWBencBufferStates_fx( } set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif set16_fx( hBWE_TD->mem_shb_res_fx, 0, MAX_LEN_MA_FILTER ); set16_fx( hBWE_TD->old_EnvSHBres_fx, 0, L_FRAME4k ); hBWE_TD->old_mean_EnvSHBres_fx = 0; diff --git a/lib_enc/tcq_core_enc_fx.c b/lib_enc/tcq_core_enc_fx.c index 517c1c0b49400fc77ded750bf8cb4924be12033e..6189e81f8f64356d544bc489f1f5690031083d27 100644 --- a/lib_enc/tcq_core_enc_fx.c +++ b/lib_enc/tcq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/tcx_ltp_enc_fx.c b/lib_enc/tcx_ltp_enc_fx.c index 8b10a8f9b64be930b118ba2f2ad42df48999e88f..4f5a438eb0581fda39e7138bc30904eec2a5c656 100644 --- a/lib_enc/tcx_ltp_enc_fx.c +++ b/lib_enc/tcx_ltp_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/tcx_utils_enc_fx.c b/lib_enc/tcx_utils_enc_fx.c index 757cfeb8f3289a2920827d3f198ec78fd0d0fa0e..bc6408f8c884176c5a736ed83ac68f67b79b5a67 100644 --- a/lib_enc/tcx_utils_enc_fx.c +++ b/lib_enc/tcx_utils_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1146,94 +1149,7 @@ Word16 SQ_gain_estimate_fx( return tmp16; } -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_fx( - Word32 *x, /* i : input coefficients */ - Word16 x_e, /* i : exponent */ - Word16 *xq, /* o : quantized coefficients */ - Word16 L_frame, /* i : frame length */ - Word16 gain, /* i : quantization gain */ - Word16 gain_e, /* i : quantization gain exponent */ - Word16 offset, /* i : rounding offset (deadzone) */ - Word8 const *memQuantZeros_fx, /* i : coefficients to be set to 0 */ - const Word16 alfe_flag ) -{ - Word16 i, tmp16, s; - Word32 tmp32, offs32; - - /* common exponent for x and gain for comparison */ - tmp16 = sub( gain_e, x_e ); - tmp32 = L_shl( L_deposit_h( gain ), s_max( -31, s_min( tmp16, 0 ) ) ); - tmp16 = negate( s_max( tmp16, 0 ) ); - - i = sub( L_frame, 1 ); - - test(); - WHILE( ( memQuantZeros_fx[i] != 0 ) && ( LT_32( L_abs( L_shl( x[i], tmp16 ) ), tmp32 ) ) ) - { - test(); - xq[i] = 0; - move16(); - i = sub( i, 1 ); - } - - /* invert gain */ - gain = Inv16( gain, &gain_e ); - - s = sub( add( x_e, gain_e ), 15 ); - - /*It should almost never happen and if so the quantization will be discarded later on (saturation of gain Quantizer).*/ - IF( GT_16( s, 31 ) ) - { - /* Limit the inverse gain to maximal possible value=sqrtL_spec/NORM_MDCT_FACTOR)*/ - gain = 22435; /*sqrt(1200/NORM_MDCT_FACTOR) in 2Q13*/ - gain_e = 2; - move16(); - move16(); - - s = sub( add( x_e, gain_e ), 15 ); - } - - /* substract 0x8000 to affect the mac_r in the following loop - so it acts like extract_h. the 0x4000 will be multiplied by 2 - by the mac_r to get to 0x8000 and disable the round. */ - offset = sub( offset, 0x4000 ); - - FOR( ; i >= 0; i-- ) - { - offs32 = Mpy_32_16_1( L_abs( x[i] ), gain ); /* multiply */ - offs32 = L_shl_sat( offs32, s ); /* convert to 15Q16 */ - tmp16 = mac_r_sat( offs32, offset, 1 ); /* add offset and truncate */ - IF( x[i] < 0 ) - { - tmp16 = negate( tmp16 ); /* restore sign */ - } - - xq[i] = tmp16; - move16(); - } - - IF( alfe_flag == 0 ) - { - AdaptLowFreqEmph_fx( x, x_e, xq, gain, gain_e, 0, NULL, NULL, L_frame ); - } - return; -} -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN - -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_ivas_fx( - Word32 *x, /* i : input coefficients exponent = x_e */ - Word16 x_e, /* i : exponent */ - Word16 *xq, /* o : quantized coefficients */ - Word16 L_frame, /* i : frame length */ - Word16 gain, /* i : quantization gain exponent = gain_e */ - Word16 gain_e, /* i : quantization gain exponent */ - Word16 offset, /* i : rounding offset (deadzone) */ - Word8 const *memQuantZeros_fx, /* i : coefficients to be set to 0 */ - const Word16 alfe_flag ) -#else void tcx_scalar_quantization_fx( Word32 *x, /* i : input coefficients exponent = x_e */ Word16 x_e, /* i : exponent */ @@ -1245,7 +1161,6 @@ void tcx_scalar_quantization_fx( Word8 const *memQuantZeros_fx, /* i : coefficients to be set to 0 */ const Word16 alfe_flag, const Word16 element_mode ) -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN { Word16 i, tmp16, s; Word32 tmp32, offs32; @@ -1254,12 +1169,8 @@ void tcx_scalar_quantization_fx( /* common exponent for x and gain for comparison */ tmp16 = sub( gain_e, x_e ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tmp32 = L_shl_sat( L_deposit_h( gain ), tmp16 ); // exp:x_e -#else tmp32 = L_shl( L_deposit_h( gain ), s_max( -31, s_min( tmp16, 0 ) ) ); tmp16 = negate( s_max( tmp16, 0 ) ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN i = sub( L_frame, 1 ); IF( memQuantZeros_fx != NULL ) @@ -1290,35 +1201,12 @@ void tcx_scalar_quantization_fx( s = sub( add( x_e, gain_e ), 15 ); } -#ifdef FIX_BASOP_2551_HARM_SCALAR_QUAN if ( EQ_16( element_mode, EVS_MONO ) ) { offset = sub( offset, 0x4000 ); } -#endif // FIX_BASOP_2551_HARM_SCALAR_QUAN -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - FOR( ; i >= 0; i-- ) - { - offs32 = Mpy_32_16_1( x[i], gain ); - offs32 = L_shl_sat( offs32, s ); /* convert to 15Q16 */ - - offs32_1 = L_add_sat( offs32, offset_Q16 ); /*15Q16 */ - tmp16 = extract_h( offs32_1 ); - IF( x[i] < 0 ) - { - offs32 = L_sub_sat( offs32, offset_Q16 ); /*15Q16 */ - tmp16 = extract_h( offs32 ); - if ( L_mac_sat( offs32, tmp16, -ONE_IN_Q15 ) > 0 ) - { - tmp16 = add( tmp16, 1 ); - } - } - xq[i] = tmp16; - move16(); - } -#else IF( EQ_16( element_mode, EVS_MONO ) ) { FOR( ; i >= 0; i-- ) @@ -1360,7 +1248,6 @@ void tcx_scalar_quantization_fx( move16(); } } -#endif IF( alfe_flag == 0 ) { @@ -1682,18 +1569,7 @@ Word16 tcx_scalar_quantization_rateloop_fx( } /* Quantize spectrum */ -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - IF( EQ_16( element_mode, EVS_MONO ) ) - { - tcx_scalar_quantization_fx( x, x_e, xq, L_frame, sqGain, sqGain_e, offset, memQuantZeros_fx, tcxonly ); - } - ELSE - { - tcx_scalar_quantization_ivas_fx( x, x_e, xq, L_frame, sqGain, sqGain_e, offset, memQuantZeros_fx, tcxonly ); - } -#else tcx_scalar_quantization_fx( x, x_e, xq, L_frame, sqGain, sqGain_e, offset, memQuantZeros_fx, tcxonly, element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate bitrate */ stopFlag = 1; move16(); @@ -1744,20 +1620,7 @@ Word16 tcx_scalar_quantization_rateloop_fx( IF( GE_16( tcxRateLoopOpt, 1 ) ) { -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - - IF( EQ_16( element_mode, EVS_MONO ) ) - { - tcx_scalar_quantization_fx( x, x_e, xq, L_frame, *gain, *gain_e, offset, memQuantZeros_fx, tcxonly ); - } - ELSE - { - tcx_scalar_quantization_ivas_fx( x, x_e, xq, L_frame, *gain, *gain_e, offset, memQuantZeros_fx, tcxonly ); - } - -#else tcx_scalar_quantization_fx( x, x_e, xq, L_frame, *gain, *gain_e, offset, memQuantZeros_fx, tcxonly, element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Output */ @@ -2573,24 +2436,15 @@ void tcx_encoder_memory_update_ivas_fx( Word16 preemph, /* i : preemphasis factor, Q15 */ LPD_state *LPDmem, /* i/o: coder memory state */ Encoder_State *st, -#ifndef NONBE_FIX_ISSUE_2206 - Word16 *synthout, /* Q_new */ -#endif Word16 Q_new ) { Word16 tmp; Word16 buf[1 + M + LFAC + L_FRAME_PLUS]; Word16 *synth; -#ifndef NONBE_FIX_ISSUE_2206 - /* Output synth */ - Copy( xn_buf, synthout, L_frame_glob ); -#endif /* Update synth */ synth = buf + M + 1; -#ifdef NONBE_FIX_ISSUE_2206 assert( Q_new == LPDmem->q_lpd_syn ); -#endif Copy( LPDmem->syn, buf, M + 1 ); Copy( xn_buf, synth, L_frame_glob ); @@ -3142,7 +2996,6 @@ void ProcessIGF_fx( } test(); -#ifdef FIX_BASOP_2548_ProcessIGF_fx_PREDICTIONGAIN IF( EQ_16( st->element_mode, EVS_MONO ) ) { // this is a bug in the EVS legacy code, the IVAS branch is correct - don't fix for now, to keep EVS bit-exact @@ -3152,9 +3005,6 @@ void ProcessIGF_fx( { tns_predictionGain = L_deposit_h( hIGFEnc->tns_predictionGain ); } -#else - tns_predictionGain = L_deposit_l( hIGFEnc->tns_predictionGain ); -#endif IF( LT_32( tns_predictionGain, ONE_POINT_ONE_FIVE_Q23 ) && LT_16( predictionGain, ONE_POINT_ONE_FIVE_Q7 ) ) { hIGFEnc->flatteningTrigger = 1; diff --git a/lib_enc/tfa_enc_fx.c b/lib_enc/tfa_enc_fx.c index baea8b4f91f3d9e800a4dc7e4fc66d9eff7c39ba..d345e1bebd065f084f2172623f5f060e8e150a80 100644 --- a/lib_enc/tfa_enc_fx.c +++ b/lib_enc/tfa_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/tns_base_enc_fx.c b/lib_enc/tns_base_enc_fx.c index 37883fb487e560ec100718ce192a0713a35d5bc2..7f7c8fc83964932e24f5fb64e1c20d9d6beadb25 100644 --- a/lib_enc/tns_base_enc_fx.c +++ b/lib_enc/tns_base_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/transient_detection_fx.c b/lib_enc/transient_detection_fx.c index f68923d69a339041e405a1f04a8601c981947eaa..e986e09ab621e115c51ab691e404833b41a403de 100644 --- a/lib_enc/transient_detection_fx.c +++ b/lib_enc/transient_detection_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -652,18 +655,6 @@ void SetTCXModeInfo_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 00e047e16e6bfbc4f53e4b7b1fa9dc03710ef5e4..7a5029a10bb0f318af0227cecf83af041d8308ad 100644 --- a/lib_enc/transition_enc_fx.c +++ b/lib_enc/transition_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/update_decision_fx.c b/lib_enc/update_decision_fx.c index e25e4d50c250291d5e8b2b90c69e463b5c380a25..2272cd7e8f9a2ad4d5c782a732cb4dc2931d54a9 100644 --- a/lib_enc/update_decision_fx.c +++ b/lib_enc/update_decision_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/updt_enc_fx.c b/lib_enc/updt_enc_fx.c index 9224b1081343fb5b130dae255ec461b4ddb0670d..fe4a1d48fdd15af5bd86c0f3c9f4a08b6a77d86a 100644 --- a/lib_enc/updt_enc_fx.c +++ b/lib_enc/updt_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -34,7 +37,6 @@ void updt_enc_fx( GSC_ENC_HANDLE hGSCEnc = st->hGSCEnc; TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; -#ifdef NONBE_FIX_ISSUE_2518 /* update old excitation buffer */ IF( st->element_mode > EVS_MONO ) { @@ -71,10 +73,6 @@ void updt_enc_fx( { Copy( &old_exc[st->L_frame], hLPDmem->old_exc, L_EXC_MEM ); } -#else - /* update old excitation buffer */ - Copy( &old_exc[st->L_frame], hLPDmem->old_exc, L_EXC_MEM ); -#endif test(); test(); IF( !st->Opt_AMR_WB && st->hBWE_TD != NULL ) @@ -242,10 +240,8 @@ void updt_IO_switch_enc_fx( /* reset TD BWE buffers */ set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif set16_fx( hBWE_TD->old_speech_wb_fx, 0, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set16_fx( hBWE_TD->old_bwe_exc_fx, 0, PIT16k_MAX * 2 ); set16_fx( hBWE_TD->old_bwe_exc_extended_fx, 0, NL_BUFF_OFFSET ); diff --git a/lib_enc/updt_tar_fx.c b/lib_enc/updt_tar_fx.c index b875a7ee400b8d52c74b353d57866b51953cccf2..f3b0c4696eec91f02b3c7e892b6a3cde0747ab5c 100644 --- a/lib_enc/updt_tar_fx.c +++ b/lib_enc/updt_tar_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_basop.h b/lib_enc/vad_basop.h index f6a0fed342357d0b1fe10f1d654305ddd85a607d..828d7cc7e7391b08dd27330dd0513fa30717b564 100644 --- a/lib_enc/vad_basop.h +++ b/lib_enc/vad_basop.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_basop_fx.c b/lib_enc/vad_basop_fx.c index c4a5705c254fd4698eb9f8093329d8f199dd40e6..cba9352f82773eeee78b49325b2660baccfe9024 100644 --- a/lib_enc/vad_basop_fx.c +++ b/lib_enc/vad_basop_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_fx.c b/lib_enc/vad_fx.c index eec0b656d67f40db5ce177b73c95073968229003..e175c451433a93c1ad55d25bc2b219b106f854a5 100644 --- a/lib_enc/vad_fx.c +++ b/lib_enc/vad_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_param_updt_fx.c b/lib_enc/vad_param_updt_fx.c index 9677fd2ebb8518c874b3cf8b0287bdbb7988b201..681ea0384efbb0d031a0d952e2e72421cc6725d8 100644 --- a/lib_enc/vad_param_updt_fx.c +++ b/lib_enc/vad_param_updt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_proc_fx.c b/lib_enc/vad_proc_fx.c index b3aac988cdd0e8c5ac0ad2e24322a311413c5aaa..6526e67f01cfce47bdea7011b4e09add541183d7 100644 --- a/lib_enc/vad_proc_fx.c +++ b/lib_enc/vad_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vbr_average_rate_fx.c b/lib_enc/vbr_average_rate_fx.c index fd1092104eebfa09456f6f7bbc4b8f7c229d2703..d4775625b070d312b225813aee65903456133397 100644 --- a/lib_enc/vbr_average_rate_fx.c +++ b/lib_enc/vbr_average_rate_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vlpc_1st_cod_fx.c b/lib_enc/vlpc_1st_cod_fx.c index f9b5ebbb321233c91cfc5fd889cc9c10f7276bf9..0272d9d7d8496996840e862ed1cacbbbe7fc685e 100644 --- a/lib_enc/vlpc_1st_cod_fx.c +++ b/lib_enc/vlpc_1st_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vlpc_2st_cod_fx.c b/lib_enc/vlpc_2st_cod_fx.c index 780e0e89e843b816b03104391107bf99dac14352..1685e5a33491d376d18381699c2ad6318f01398d 100644 --- a/lib_enc/vlpc_2st_cod_fx.c +++ b/lib_enc/vlpc_2st_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/voiced_enc_fx.c b/lib_enc/voiced_enc_fx.c index 40c7f8c13839228bb1044d8dc7264250c595abf1..be14256c0a460b2a6b3b0738d022dd77271309c3 100644 --- a/lib_enc/voiced_enc_fx.c +++ b/lib_enc/voiced_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/waveadjust_fec_cod_fx.c b/lib_enc/waveadjust_fec_cod_fx.c index 07fa26b5b7857b408733df7778c2a916c368b493..8f60ad0c278cc9a4a5bc4d44bea7004598c2ca15 100644 --- a/lib_enc/waveadjust_fec_cod_fx.c +++ b/lib_enc/waveadjust_fec_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_isar/isar_MSPred.c b/lib_isar/isar_MSPred.c index 6698a12b35500a5ddd0c661119547186b1e8aa6f..fe98218770100b5f45d9a4c64f2a6235ec71616d 100644 --- a/lib_isar/isar_MSPred.c +++ b/lib_isar/isar_MSPred.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_isar/isar_PerceptualModel.c b/lib_isar/isar_PerceptualModel.c index 3ad12b9a42e6bb012fe8f9fe073246e53a2c0c6d..a529023617b09eddc35cd433c660ffc8bb121315 100644 --- a/lib_isar/isar_PerceptualModel.c +++ b/lib_isar/isar_PerceptualModel.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PredDecoder.c b/lib_isar/isar_PredDecoder.c index 94d85f2ebe75f543c5ed58064141d7840052ee29..8a77f33e524c9e36509c3c7be04817ae1acf6d60 100644 --- a/lib_isar/isar_PredDecoder.c +++ b/lib_isar/isar_PredDecoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PredEncoder.c b/lib_isar/isar_PredEncoder.c index 1cad13a8c85e3598d77135c4d097abe6ff30a741..dd104a0330699ee67a3cf4ab5a9cbce3f09db15a 100644 --- a/lib_isar/isar_PredEncoder.c +++ b/lib_isar/isar_PredEncoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_RMSEnvGrouping.c b/lib_isar/isar_RMSEnvGrouping.c index ab6237a5395da32f9392ece1f9dec1de41285aab..aac01383ac7b8b733c772040a63014de0d72ac28 100644 --- a/lib_isar/isar_RMSEnvGrouping.c +++ b/lib_isar/isar_RMSEnvGrouping.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* Double check cost function calculation */ @@ -867,9 +839,6 @@ static void LimitRMSEnvelope( IF( GT_32( iDelta, iRMSDeltaMax ) ) { -#ifdef DEBUGGING - printf( "Warning: RMS envelope delta limited!\n" ); -#endif piRMSEnvelope[iBand] = L_add( L_sub( iDelta, iRMSDeltaMax ), piRMSEnvelope[iBand] ); } @@ -887,9 +856,6 @@ static void LimitRMSEnvelope( IF( LT_32( iDelta, iRMSDeltaMin ) ) { -#ifdef DEBUGGING - printf( "Warning: RMS envelope delta limited!\n" ); -#endif piRMSEnvelope[iBand] = L_add( piRMSEnvelope[iBand], L_sub( iRMSDeltaMin, iDelta ) ); } diff --git a/lib_isar/isar_cnst.h b/lib_isar/isar_cnst.h index 449577f4374b17b1b64bbc5088af007af5b30c27..5f911256dd458267b3d95f05ec47aec4b2bac199 100644 --- a/lib_isar/isar_cnst.h +++ b/lib_isar/isar_cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 d8fc0cdb5dbbb0b133d57f7ad9b8b68433f6fb79..56ab5859bc9f154559cf975cee5a6bcc16596661 100644 --- a/lib_isar/isar_lc3plus_common.c +++ b/lib_isar/isar_lc3plus_common.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lc3plus_common.h b/lib_isar/isar_lc3plus_common.h index 5af4f80a81a1ac696ac05e97d2b963d9d18ca7b0..bb7886a3c83bcf5cd797ff9e4550ee4acfb3bc1e 100644 --- a/lib_isar/isar_lc3plus_common.h +++ b/lib_isar/isar_lc3plus_common.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 7f158cc04c686e2c9831bab394256461a9d7d7c5..9c054dc16c33a717cd5c28f4ad6d6b513684cf4d 100644 --- a/lib_isar/isar_lc3plus_dec.c +++ b/lib_isar/isar_lc3plus_dec.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lc3plus_dec.h b/lib_isar/isar_lc3plus_dec.h index 6f469f48b270d8577c3ba5fdab08457752bdd1cf..765b62ee53ef8a2d5664c3e3525d4a3b23b3eda8 100644 --- a/lib_isar/isar_lc3plus_dec.h +++ b/lib_isar/isar_lc3plus_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 9795833a341296110660fef758086aaa4fc3556a..9cc031ed9a623859dfb49fc851b96e0472286e8f 100644 --- a/lib_isar/isar_lc3plus_enc.c +++ b/lib_isar/isar_lc3plus_enc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 5ce87a91f3e63ed04bce08777a3ee9b296b3609b..ba69d7b0a94f81809eaad9414e0a260c3d907ece 100644 --- a/lib_isar/isar_lc3plus_enc.h +++ b/lib_isar/isar_lc3plus_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 0a201b0743e29d7120afce088699f244c882e8d4..468a99a0482dfdbf10d9ba10d668d9170fcb3255 100644 --- a/lib_isar/isar_lc3plus_payload.c +++ b/lib_isar/isar_lc3plus_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_isar/isar_lc3plus_payload.h b/lib_isar/isar_lc3plus_payload.h index 7ebdb33426d0dbac4246e4c146703876e9404eb7..9cb9de1b82f7ba648b506023a862fb1c5e1daa8f 100644 --- a/lib_isar/isar_lc3plus_payload.h +++ b/lib_isar/isar_lc3plus_payload.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 d4d6074f8f9ac193e3ec122bc05d036a94cf5f27..c58c79f2b9414c0a0debbc9a68d01b07547f6b4e 100644 --- a/lib_isar/isar_lcld_decoder.c +++ b/lib_isar/isar_lcld_decoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 5b34a4ff3527a3fefd659717d56584eef8e856c3..6ad73a0450fb0f36be287d02cb1b79c0a88da148 100644 --- a/lib_isar/isar_lcld_encoder.c +++ b/lib_isar/isar_lcld_encoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lcld_prot.h b/lib_isar/isar_lcld_prot.h index aa9cd51071c8f6f45737e9a952c932cb5a601ced..24827087b69c74cf039ee122a8224841aae0cee5 100644 --- a/lib_isar/isar_lcld_prot.h +++ b/lib_isar/isar_lcld_prot.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 43990c55ba68b7380d0745cc1eea957a41a2063f..9925b2721277de77303de19848acf5a21f08835c 100644 --- a/lib_isar/isar_prot.h +++ b/lib_isar/isar_prot.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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( @@ -154,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 */ @@ -241,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( @@ -466,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 287d3f70c37544b29a75fba539342674847f01b1..05b0ef998987e383d0c959d5222c658d64ab7584 100644 --- a/lib_isar/isar_rom_lcld_tables.c +++ b/lib_isar/isar_rom_lcld_tables.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "isar_rom_lcld_tables.h" #include "options.h" @@ -294,42 +266,6 @@ const Word32 c_aiQuantMaxValues_fx[ALLOC_TABLE_SIZE] = { 377487360, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiQuantMaxValues[ALLOC_TABLE_SIZE] = { - 0, - 3, - 3, - 4, - 5, - 5, - 6, - 7, - 8, - 9, - 12, - 13, - 16, - 17, - 19, - 23, - 26, - 26, - 27, - 28, - 31, - 36, - 38, - 45, - 54, - 64, - 76, - 90, - 108, - 128, - 152, - 180, -}; -#endif const Word32 c_aiHuffmanDim_fx[ALLOC_TABLE_SIZE] = { 2, @@ -471,42 +407,6 @@ const Word32 c_aiHuffmanMod[ALLOC_TABLE_SIZE] = { 1, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiHuffmanSize[ALLOC_TABLE_SIZE] = { - 1, - 16, - 16, - 25, - 36, - 36, - 49, - 64, - 81, - 100, - 169, - 196, - 289, - 324, - 400, - 576, - 729, - 729, - 28, - 29, - 32, - 37, - 39, - 46, - 55, - 65, - 77, - 91, - 109, - 129, - 153, - 181, -}; -#endif const UWord32 c_aaiRMSEnvHuffEnc[64][2] = { { 0x0014, 0x0000 }, @@ -19213,1246 +19113,142 @@ const Word16 c_aiLogAddTable_fx[LOG_ADD_TABLE_LENGTH] = { 0x00, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiLogAddTable[LOG_ADD_TABLE_LENGTH] = { - 0x40, - 0x40, - 0x3F, - 0x3F, - 0x3E, - 0x3E, - 0x3D, - 0x3D, - 0x3C, - 0x3C, - 0x3B, - 0x3B, - 0x3A, - 0x3A, - 0x39, - 0x39, - 0x38, - 0x38, - 0x37, - 0x37, - 0x37, - 0x36, - 0x36, - 0x35, - 0x35, - 0x34, - 0x34, - 0x33, - 0x33, - 0x33, - 0x32, - 0x32, - 0x31, - 0x31, - 0x31, - 0x30, - 0x30, - 0x2F, - 0x2F, - 0x2F, - 0x2E, - 0x2E, - 0x2D, - 0x2D, - 0x2D, - 0x2C, - 0x2C, - 0x2B, - 0x2B, - 0x2B, - 0x2A, - 0x2A, - 0x2A, - 0x29, - 0x29, - 0x29, - 0x28, - 0x28, - 0x27, - 0x27, - 0x27, - 0x26, - 0x26, - 0x26, - 0x25, - 0x25, - 0x25, - 0x24, - 0x24, - 0x24, - 0x23, - 0x23, - 0x23, - 0x23, - 0x22, - 0x22, - 0x22, - 0x21, - 0x21, - 0x21, - 0x20, - 0x20, - 0x20, - 0x20, - 0x1F, - 0x1F, - 0x1F, - 0x1E, - 0x1E, - 0x1E, - 0x1E, - 0x1D, - 0x1D, - 0x1D, - 0x1C, - 0x1C, - 0x1C, - 0x1C, - 0x1B, - 0x1B, - 0x1B, - 0x1B, - 0x1A, - 0x1A, - 0x1A, - 0x1A, - 0x19, - 0x19, - 0x19, - 0x19, - 0x18, - 0x18, - 0x18, - 0x18, - 0x18, - 0x17, - 0x17, - 0x17, - 0x17, - 0x16, - 0x16, - 0x16, - 0x16, - 0x16, - 0x15, - 0x15, - 0x15, - 0x15, - 0x15, - 0x14, - 0x14, - 0x14, - 0x14, - 0x14, - 0x13, - 0x13, - 0x13, - 0x13, - 0x13, - 0x13, - 0x12, - 0x12, - 0x12, - 0x12, - 0x12, - 0x11, - 0x11, - 0x11, - 0x11, - 0x11, - 0x11, - 0x10, - 0x10, - 0x10, - 0x10, - 0x10, - 0x10, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -#endif - -const Word16 c_aiBandwidthAdjust48_fx[MAX_BANDS_48] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 64, - 64, - 64, - 64, - 64, - 101, - 101, - 128, - 165, - 165, - 180, - 213, -}; - -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiBandwidthAdjust48[MAX_BANDS_48] = { - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 64, - 64, - 64, - 64, - 64, - 101, - 101, - 128, - 165, - 165, - 180, - 213, -}; -#endif - -const Word16 c_aiAbsoluteThresh48_fx[MAX_BANDS_48] = { - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1782, - -1761, - -1737, - -1679, - -1638, - -1613, - -1590, - -1568, - -1516, - -1459, - -1395, - -1289, - -671, - -409, - -401, -}; - -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiAbsoluteThresh48[MAX_BANDS_48] = { - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1782, - -1761, - -1737, - -1679, - -1638, - -1613, - -1590, - -1568, - -1516, - -1459, - -1395, - -1289, - -671, - -409, - -401, -}; -#endif - -#if PERCEPTUAL_MODEL_SLGAIN_SHIFT == 4 -const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { - 7, - 7, - 6, - 5, - 5, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, -}; -#elif PERCEPTUAL_MODEL_SLGAIN_SHIFT == 8 -const Word16 c_aiDefaultTheta48_fx[MAX_BANDS_48] = { - - 112, - 112, - 96, - 80, - 80, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, -}; -#endif -const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { - - 112, - 112, - 96, - 80, - 80, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, -}; -const Word16 c_aaiSpreadFunction48_fx[MAX_BANDS_48 * MAX_BANDS_48] = { - 0, - -1561, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -289, - -4, - -1234, - -2295, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -569, - -229, - -8, - -905, - -1705, - -2324, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -789, - -445, - -173, - -16, - -656, - -1271, - -1765, - -2172, - -2520, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -961, - -616, - -340, - -136, - -28, - -488, - -976, - -1382, - -1729, - -2032, - -2305, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1088, - -743, - -465, - -257, - -148, - -31, - -371, - -769, - -1114, - -1417, - -1689, - -2054, - -2483, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1198, - -852, - -574, - -364, - -209, - -148, - -42, - -300, - -635, - -936, - -1207, - -1572, - -2000, - -2376, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1293, - -948, - -669, - -458, - -301, - -183, - -145, - -56, - -258, - -547, - -816, - -1179, - -1606, - -1982, - -2311, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1375, - -1029, - -750, - -539, - -381, - -260, - -180, - -142, - -68, - -231, - -487, - -846, - -1272, - -1647, - -1976, - -2261, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1444, - -1099, - -820, - -608, - -449, - -328, - -233, - -194, - -138, - -77, - -213, - -555, - -978, - -1352, - -1681, - -1966, - -2268, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1501, - -1155, - -876, - -665, - -505, - -383, - -287, - -210, - -193, - -130, - -79, - -298, - -711, - -1083, - -1411, - -1696, - -1997, - -2288, - -2550, - -2552, - -2552, - -2552, - -2552, - -1567, - -1221, - -942, - -730, - -570, - -448, - -351, - -272, - -206, - -189, - -151, - -72, - -349, - -713, - -1039, - -1324, - -1625, - -1915, - -2177, - -2448, - -2552, - -2552, - -2552, - -1650, - -1304, - -1025, - -813, - -653, - -530, - -432, - -352, - -285, - -227, - -177, - -163, - -69, - -297, - -613, - -895, - -1195, - -1485, - -1746, - -2017, - -2238, - -2401, - -2545, - -1727, - -1381, - -1102, - -890, - -730, - -607, - -509, - -428, - -360, - -301, - -249, - -180, - -153, - -72, - -257, - -527, - -824, - -1112, - -1373, - -1643, - -1865, - -2028, - -2171, - -1798, - -1452, - -1173, - -960, - -800, - -677, - -579, - -498, - -430, - -370, - -317, - -246, - -192, - -145, - -76, - -224, - -505, - -790, - -1050, - -1320, - -1540, - -1703, - -1847, - -1860, - -1514, - -1234, - -1022, - -862, - -738, - -640, - -559, - -490, - -430, - -377, - -306, - -224, - -197, - -136, - -81, - -242, - -515, - -771, - -1040, - -1260, - -1422, - -1566, - -1923, - -1577, - -1297, - -1085, - -925, - -801, - -703, - -621, - -553, - -492, - -439, - -367, - -284, - -213, - -198, - -144, - -83, - -235, - -479, - -744, - -963, - -1125, - -1268, - -1986, - -1640, - -1360, - -1148, - -988, - -864, - -766, - -684, - -615, - -555, - -501, - -429, - -345, - -273, - -211, - -204, - -146, - -89, - -216, - -465, - -680, - -841, - -984, - -2043, - -1697, - -1417, - -1205, - -1044, - -921, - -822, - -741, - -672, - -611, - -557, - -485, + +const Word16 c_aiBandwidthAdjust48_fx[MAX_BANDS_48] = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 64, + 64, + 64, + 64, + 64, + 101, + 101, + 128, + 165, + 165, + 180, + 213, +}; + + +const Word16 c_aiAbsoluteThresh48_fx[MAX_BANDS_48] = { + -1787, + -1787, + -1787, + -1787, + -1787, + -1787, + -1787, + -1787, + -1782, + -1761, + -1737, + -1679, + -1638, + -1613, + -1590, + -1568, + -1516, + -1459, + -1395, + -1289, + -671, + -409, -401, - -328, - -264, - -211, - -205, - -140, - -93, - -227, - -430, - -588, - -729, - -2104, - -1758, - -1479, - -1266, - -1106, - -982, - -884, - -802, - -733, - -673, - -619, - -546, - -461, - -388, - -324, - -269, - -212, - -211, - -151, - -100, - -195, - -336, - -472, - -2163, - -1817, - -1537, - -1324, - -1164, - -1040, - -942, - -860, - -791, - -731, - -676, - -604, - -519, - -445, - -380, - -325, - -268, - -226, - -219, - -147, - -114, - -167, - -280, - -2203, - -1857, - -1577, - -1365, - -1205, - -1081, - -982, - -901, - -831, - -771, - -717, - -644, - -559, - -485, - -420, - -364, - -306, - -252, - -239, - -206, - -132, - -122, - -163, - -2224, - -1878, - -1598, - -1386, - -1225, - -1102, - -1003, - -921, - -852, - -792, - -737, - -665, - -580, - -505, - -441, - -385, - -326, - -271, - -222, - -224, - -176, - -121, - -114, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aaiSpreadFunction48[MAX_BANDS_48 * MAX_BANDS_48] = { + +#if PERCEPTUAL_MODEL_SLGAIN_SHIFT == 4 +const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { + 7, + 7, + 6, + 5, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, +}; +#elif PERCEPTUAL_MODEL_SLGAIN_SHIFT == 8 +const Word16 c_aiDefaultTheta48_fx[MAX_BANDS_48] = { + + 112, + 112, + 96, + 80, + 80, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, +}; +#endif +const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { + + 112, + 112, + 96, + 80, + 80, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, +}; +const Word16 c_aaiSpreadFunction48_fx[MAX_BANDS_48 * MAX_BANDS_48] = { 0, -1561, -2552, @@ -20984,7 +19780,6 @@ const Word32 c_aaiSpreadFunction48[MAX_BANDS_48 * MAX_BANDS_48] = { -114, }; -#endif const Word32 c_pfMagLUT[8] = /* Q31 */ { 0, 394599072, 775760576, 1130504448, 1446750336, 1713728896, 1922348544, 2065504896 @@ -21007,9 +19802,3 @@ const Word32 c_pfP2RImagLUT[32] = /* Q31 */ { 2147483647, 2106220288, 1984016128, 1785567232, 1518500224, 1193077888, 821806080, 418953248 }; - -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_pfWindowLUT[LCLD_PRED_WIN_LEN] = /* Q31 */ { - 190779840, 338280192, 610825408, 966922816, 1352359680, 1708457216, 1981002240, 2128502656, 2128502528, 1981002240, 1708456960, 1352359808, 966922624, 610825152, 338280192, 190779776 -}; -#endif diff --git a/lib_isar/isar_rom_lcld_tables.h b/lib_isar/isar_rom_lcld_tables.h index 278ca2d741e8118c22798bbfa4aac44466510dc6..a43e724686ee3035aee1b939e13855e3471c7047 100644 --- a/lib_isar/isar_rom_lcld_tables.h +++ b/lib_isar/isar_rom_lcld_tables.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_ROM_LCLD_TABLES_H #define ISAR_ROM_LCLD_TABLES_H @@ -130,14 +102,6 @@ extern const Word16 c_aiDefaultTheta48_fx[MAX_BANDS_48]; extern const Word16 c_aaiSpreadFunction48_fx[MAX_BANDS_48 * MAX_BANDS_48]; extern const Word32 c_aiDefaultTheta48[MAX_BANDS_48]; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -extern const Word32 c_aiQuantMaxValues[ALLOC_TABLE_SIZE]; -extern const Word32 c_aiLogAddTable[LOG_ADD_TABLE_LENGTH]; -extern const Word32 c_aiHuffmanSize[ALLOC_TABLE_SIZE]; -extern const Word32 c_aiBandwidthAdjust48[MAX_BANDS_48]; -extern const Word32 c_aiAbsoluteThresh48[MAX_BANDS_48]; -extern const Word32 c_aaiSpreadFunction48[MAX_BANDS_48 * MAX_BANDS_48]; -#endif #define PRED_QUNAT_FILTER_MAG_BITS ( 3 ) #define PRED_QUANT_FILTER_PHASE_BITS ( 5 ) @@ -238,8 +202,5 @@ extern const UWord32 c_aaiRMSEnvHuffDec[13][HUFF_DEC_TABLE_SIZE]; extern const Word32 c_pfMagLUT[8]; /* Q31 */ extern const Word32 c_pfP2RRealLUT[32]; /* Q31 */ extern const Word32 c_pfP2RImagLUT[32]; /* Q31 */ -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -extern const Word32 c_pfWindowLUT[LCLD_PRED_WIN_LEN]; /* Q31 */ -#endif #endif /* ISAR_ROM_LCLD_TABLES_H_ */ diff --git a/lib_isar/isar_rom_post_rend.c b/lib_isar/isar_rom_post_rend.c index 2e4bf8ab815ce0964fc5ad9e7bf4da4e138cd87c..b783fa6bf405075324e28206b369dad1d0876a0e 100644 --- a/lib_isar/isar_rom_post_rend.c +++ b/lib_isar/isar_rom_post_rend.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_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 b7bca73bdbea2993f209032ed0014b12a412ccca..78375704c8e6f51151b92c8b181c709b8a39152e 100644 --- a/lib_isar/isar_rom_post_rend.h +++ b/lib_isar/isar_rom_post_rend.h @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 8fb28c90bbeec89f4334db73e06150af43509268..4cb23dabf0638ddf6245a4b8bd7c9df37f424695 100644 --- a/lib_isar/isar_splitRend_lcld_dec.c +++ b/lib_isar/isar_splitRend_lcld_dec.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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" diff --git a/lib_isar/isar_splitRend_lcld_enc.c b/lib_isar/isar_splitRend_lcld_enc.c index 32346f887b8928acc9911550297ff7ab33c75f5b..65f182baa93b9e6e2fb44145214da1a8b11c61ab 100644 --- a/lib_isar/isar_splitRend_lcld_enc.c +++ b/lib_isar/isar_splitRend_lcld_enc.c @@ -1,42 +1,11 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "isar_prot.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" @@ -227,9 +196,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 d29a5272298b5613e812762c05abfd16babd4a91..15ddd89433b611746608e6afef5fdfcb625617a9 100644 --- a/lib_isar/isar_splitRendererPLC.c +++ b/lib_isar/isar_splitRendererPLC.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,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 380b9f976a7abcd28211fe800d9fbbdd9d889c7e..e92571893e5ec17a3803a5ab77ef1f0651ada7cf 100644 --- a/lib_isar/isar_splitRendererPost.c +++ b/lib_isar/isar_splitRendererPost.c @@ -1,47 +1,13 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#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 "wmc_auto.h" #include "basop_util.h" #define Q31_BY_360 ( 5965232 ) // Q31 @@ -71,15 +37,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++ ) { @@ -93,18 +50,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 ); @@ -140,19 +85,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; @@ -207,9 +139,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 ); } @@ -638,12 +567,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]; @@ -654,9 +578,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; @@ -760,109 +681,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++ ) { @@ -945,101 +763,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; } diff --git a/lib_isar/isar_splitRendererPre.c b/lib_isar/isar_splitRendererPre.c index f657e7d4b862a6ee51bae116964f8a1d5279ee59..204458621329feb6297ad932b0eae1d5a6681287 100644 --- a/lib_isar/isar_splitRendererPre.c +++ b/lib_isar/isar_splitRendererPre.c @@ -1,52 +1,15 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#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 @@ -174,10 +137,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; @@ -1680,25 +1639,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; } @@ -1843,24 +1783,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; } @@ -2070,82 +1992,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; } @@ -2423,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; @@ -2527,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 ) @@ -2546,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++ ) { @@ -2582,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; @@ -2607,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; @@ -2943,22 +2644,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]; diff --git a/lib_isar/isar_splitRenderer_utils.c b/lib_isar/isar_splitRenderer_utils.c index f8359c18f1f73c70e56c6d77a3428c405113817b..68ccce36c67987888b4e77067bef99e1ed23f86e 100644 --- a/lib_isar/isar_splitRenderer_utils.c +++ b/lib_isar/isar_splitRenderer_utils.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -42,9 +14,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" @@ -522,10 +491,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; @@ -554,13 +519,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 */ @@ -582,52 +540,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 4849485880c01a761efc78414bf85ffc7436d430..2d61d5badcd96c4bc56ac96ede7d62234550591f 100644 --- a/lib_isar/isar_stat.h +++ b/lib_isar/isar_stat.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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; diff --git a/lib_isar/lib_isar_post_rend.c b/lib_isar/lib_isar_post_rend.c index 04e80dc619d2be05d03c5a5f913bd8b82d8c4a4d..87d55d13884cb77612889d00b1d58d9871af0e4f 100644 --- a/lib_isar/lib_isar_post_rend.c +++ b/lib_isar/lib_isar_post_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "lib_isar_post_rend.h" @@ -94,9 +66,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]; @@ -275,7 +244,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 */ @@ -315,7 +283,6 @@ static Word32 limitRendererOutput_fx( return numClipping; } -#endif /*-------------------------------------------------------------------* @@ -634,9 +601,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 */ @@ -1381,11 +1345,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 } } @@ -1735,14 +1695,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; } @@ -1834,28 +1789,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 d7f1cce841259ba8e34b0f3a685a3620cccbc800..5c5d28fd3574288349360ae3fc5b40f7200e5dcf 100644 --- a/lib_isar/lib_isar_post_rend.h +++ b/lib_isar/lib_isar_post_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_ISAR_POST_REND_H #define LIB_ISAR_POST_REND_H @@ -191,15 +163,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 910f5f4230523ac883bb6d1a2bd9d9fc0daf2441..38f4ddc2b19d6029edd5d370f305cd35e0f31973 100644 --- a/lib_isar/lib_isar_pre_rend.c +++ b/lib_isar/lib_isar_pre_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,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; } @@ -158,10 +122,6 @@ ivas_error ISAR_PRE_REND_open( } ELSE { -#ifndef FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE - Word16 iNumBlocksPerFrame; - iNumBlocksPerFrame = ( CLDFB_NO_COL_MAX * pSplitRendConfig->codec_frame_size_ms ) / 20; -#else Word16 iNumBlocksPerFrame, iNumLCLDIterationsPerFrame; IF( GT_16( pSplitRendConfig->codec_frame_size_ms, 0 ) ) { @@ -174,13 +134,8 @@ ivas_error ISAR_PRE_REND_open( iNumLCLDIterationsPerFrame = 1; iNumBlocksPerFrame = CLDFB_NO_COL_MAX; } -#endif -#ifndef FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE - IF( ( error = isar_splitBinLCLDEncOpen( &hSplitRendWrapper->hSplitBinLCLDEnc, OutSampleRate, BINAURAL_CHANNELS, isar_get_lcld_bitrate( pSplitRendConfig->splitRendBitRate, hSplitRendWrapper->multiBinPoseData.poseCorrectionMode ), iNumBlocksPerFrame, 1 ) ) != IVAS_ERR_OK ) -#else IF( ( error = isar_splitBinLCLDEncOpen( &hSplitRendWrapper->hSplitBinLCLDEnc, OutSampleRate, BINAURAL_CHANNELS, isar_get_lcld_bitrate( pSplitRendConfig->splitRendBitRate, hSplitRendWrapper->multiBinPoseData.poseCorrectionMode ), iNumBlocksPerFrame, iNumLCLDIterationsPerFrame ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_isar/lib_isar_pre_rend.h b/lib_isar/lib_isar_pre_rend.h index e085852d18327a1af45faa77faaf3fb9b698c9ff..69622231cea9a2ceebfe6373d81ec927c21ee458 100644 --- a/lib_isar/lib_isar_pre_rend.h +++ b/lib_isar/lib_isar_pre_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_ISAR_PRE_REND_H #define LIB_ISAR_PRE_REND_H diff --git a/lib_lc3plus/adjust_global_gain_fx.c b/lib_lc3plus/adjust_global_gain_fx.c index 5edf9b9fcef1321ba40195a0057f62df6d74e90d..793e6510462b341b5a16705919d75725dce12995 100644 --- a/lib_lc3plus/adjust_global_gain_fx.c +++ b/lib_lc3plus/adjust_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..d829ba6d40a148f4523983fe3b41e8819213af63 100644 --- a/lib_lc3plus/al_fec.c +++ b/lib_lc3plus/al_fec.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..4c81e999f813d6797c66d35017218f4d0f5b1e66 100644 --- a/lib_lc3plus/apply_global_gain_fx.c +++ b/lib_lc3plus/apply_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..69ce32c35b7a5bdc5ecedaf38b8eab634238b5e8 100644 --- a/lib_lc3plus/ari_codec.c +++ b/lib_lc3plus/ari_codec.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..7b155d8eb77c7ff58f244f83c9ec6a8aca585334 100644 --- a/lib_lc3plus/attack_detector_fx.c +++ b/lib_lc3plus/attack_detector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..b1206a9aba36a01c95ddd264c34b490417cfa7bd 100644 --- a/lib_lc3plus/basop_mpy_lc3plus.c +++ b/lib_lc3plus/basop_mpy_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..e40c623112a2a0d56e0e522605d521170c1c6cbe 100644 --- a/lib_lc3plus/basop_mpy_lc3plus.h +++ b/lib_lc3plus/basop_mpy_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..f12b9f8fca2e4d4d1a45ebabc9f883313fe8abd7 100644 --- a/lib_lc3plus/basop_util_lc3plus.c +++ b/lib_lc3plus/basop_util_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..474ff4c7f7caf22cc872c94354453a2d52493f4c 100644 --- a/lib_lc3plus/basop_util_lc3plus.h +++ b/lib_lc3plus/basop_util_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..ec1c09bcedd315ab3fee3588049aa988ed3852b9 100644 --- a/lib_lc3plus/com_entropy.c +++ b/lib_lc3plus/com_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..9b05de684be915824150f0ee28c4d4e968d37fa7 100644 --- a/lib_lc3plus/constants.c +++ b/lib_lc3plus/constants.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..8d094e08c643039cc85c928b855970c40d8c437d 100644 --- a/lib_lc3plus/constants.h +++ b/lib_lc3plus/constants.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..0ef32f53111cc243246c9d516d6e34595042aef2 100644 --- a/lib_lc3plus/cutoff_bandwidth.c +++ b/lib_lc3plus/cutoff_bandwidth.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..cfb3c72c33644b5438e655718868b7aa25d4529a 100644 --- a/lib_lc3plus/dct2_fx.c +++ b/lib_lc3plus/dct2_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..bdaeecb9e7bc247761c4e5689f6d29f4f3ccb5ab 100644 --- a/lib_lc3plus/dct4_fx.c +++ b/lib_lc3plus/dct4_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..9346369ccc3eaf9424047a38d63f04995bee72b0 100644 --- a/lib_lc3plus/dec_entropy.c +++ b/lib_lc3plus/dec_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..3f50642fa423a574f3e1f9a9639c037b6d4f5b48 100644 --- a/lib_lc3plus/dec_lc3plus.c +++ b/lib_lc3plus/dec_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..6ddf74270a8dd7f52cbf6881495284a503724edc 100644 --- a/lib_lc3plus/defines.h +++ b/lib_lc3plus/defines.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..e3ade89fdf456cccb8fd9ab08f3a2e1bb173c30b 100644 --- a/lib_lc3plus/detect_cutoff_warped_fx.c +++ b/lib_lc3plus/detect_cutoff_warped_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..e48c80eb64e7530e472279adcd139002416620d6 100644 --- a/lib_lc3plus/dynmem.c +++ b/lib_lc3plus/dynmem.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..b75b64d331067f8806ee10afebed5d44b86b3930 100644 --- a/lib_lc3plus/dynmem.h +++ b/lib_lc3plus/dynmem.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..382441da63d2639938a38c745a09c3833640a973 100644 --- a/lib_lc3plus/enc_entropy.c +++ b/lib_lc3plus/enc_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..ac4a13a9c61072f00c4fea5e9e02ed1468b39d0d 100644 --- a/lib_lc3plus/enc_lc3plus.c +++ b/lib_lc3plus/enc_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..6bf318cfc80fc10f09bd6ff05a4ef71b711cf3c1 100644 --- a/lib_lc3plus/estimate_global_gain_fx.c +++ b/lib_lc3plus/estimate_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..6ff302ed6f80c7881411081ab91a36cc8d736e0f 100644 --- a/lib_lc3plus/fft_lc3plus.c +++ b/lib_lc3plus/fft_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..3c946c28b744e0acdb27deabbaf27a7a9d094516 100644 --- a/lib_lc3plus/functions.h +++ b/lib_lc3plus/functions.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..927781b0e2aee99895902baa242e0bedf6842191 100644 --- a/lib_lc3plus/imdct_fx.c +++ b/lib_lc3plus/imdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..c909bfc889775c5c0a1f0442867ebf6a1b46e90d 100644 --- a/lib_lc3plus/lc3plus.c +++ b/lib_lc3plus/lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..37e8802a0cb2a3d6d4e1c79aceddc6ca6dad9ed9 100644 --- a/lib_lc3plus/lc3plus.h +++ b/lib_lc3plus/lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..2f9589c2b9361fbeb89a36fbe177cd9bdfe11d06 100644 --- a/lib_lc3plus/levinson_fx.c +++ b/lib_lc3plus/levinson_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..bb9146048bf16a4e2b4e4dad88e889236eb314a4 100644 --- a/lib_lc3plus/license.h +++ b/lib_lc3plus/license.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..c3868f99623208d0c1a536bd036b90a7d542bd7e 100644 --- a/lib_lc3plus/ltpf_coder_fx.c +++ b/lib_lc3plus/ltpf_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..7b69216cf07f8ab546e78f5d715d4d1aa8edfabe 100644 --- a/lib_lc3plus/ltpf_decoder_fx.c +++ b/lib_lc3plus/ltpf_decoder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..c72da8ac9bf2b8afeef53a1f7812b51ae9872f5e 100644 --- a/lib_lc3plus/mdct_fx.c +++ b/lib_lc3plus/mdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..a8df97f5de8992e4b0894bdf0c569c3793441f29 100644 --- a/lib_lc3plus/mdct_shaping_fx.c +++ b/lib_lc3plus/mdct_shaping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..ab5c77e43d3f58d5cf9b7f27929781f8dac43166 100644 --- a/lib_lc3plus/near_nyquist_detector_fx.c +++ b/lib_lc3plus/near_nyquist_detector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..650ee6510d65761a064bdf300767c931ca9ad621 100644 --- a/lib_lc3plus/noise_factor_fx.c +++ b/lib_lc3plus/noise_factor_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..7dcf9d033f4202f7b880b37448e997315fc46dcf 100644 --- a/lib_lc3plus/noise_filling_fx.c +++ b/lib_lc3plus/noise_filling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..ba64bd040eb8c3899b06377d3d3316b0159fd15d 100644 --- a/lib_lc3plus/olpa_fx.c +++ b/lib_lc3plus/olpa_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..87a53547f27bb56eb0082de25520374293dff435 100644 --- a/lib_lc3plus/pc_apply_fx.c +++ b/lib_lc3plus/pc_apply_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..bd638b6a8bd8bce89de9c9fdf029c54da1fa8d9d 100644 --- a/lib_lc3plus/pc_classify_fx.c +++ b/lib_lc3plus/pc_classify_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..8a4f5b28636a1b3f0a9c49f232b59f2f11b4f1f7 100644 --- a/lib_lc3plus/pc_main_fx.c +++ b/lib_lc3plus/pc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..f0d27aeaed5142f2f6bf5cc12af7a265d69c00fe 100644 --- a/lib_lc3plus/pc_update_fx.c +++ b/lib_lc3plus/pc_update_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..dfa05e857d46fe4e9c872c40240415f6b9bc8b4b 100644 --- a/lib_lc3plus/per_band_energy_fx.c +++ b/lib_lc3plus/per_band_energy_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..fc611c6125d2c05b752bba9fa61b6b613a629ee3 100644 --- a/lib_lc3plus/plc_apply_fx.c +++ b/lib_lc3plus/plc_apply_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..c0b9393791cf72d422303ee051df28553cb4af41 100644 --- a/lib_lc3plus/plc_classify_fx.c +++ b/lib_lc3plus/plc_classify_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..03cd20ab259b006159b92445f489744ed4950634 100644 --- a/lib_lc3plus/plc_damping_scrambling_fx.c +++ b/lib_lc3plus/plc_damping_scrambling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..dd94d8f4f2808200fce66fbfa560c903a5f9bc35 100644 --- a/lib_lc3plus/plc_lpc_scaling_fx.c +++ b/lib_lc3plus/plc_lpc_scaling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..e0f0740fd04794caa098c39915642d9400257a96 100644 --- a/lib_lc3plus/plc_main_fx.c +++ b/lib_lc3plus/plc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..d0febf01d41d6467fa6c962b5587b2ca3a7bb74e 100644 --- a/lib_lc3plus/plc_noise_substitution_fx.c +++ b/lib_lc3plus/plc_noise_substitution_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..717cead78f62a74f130d5d95a717e9529be64865 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..dcdfb9a634350d1056afa00f5587a66127be62c9 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..cb52465becc0da353130207d4da7b55b852a2b7c 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..967aaa8b99e8d68420b2a84378dc67ed81c259d9 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..06d3403b05f00f252012d89982c7645dcdb8081e 100644 --- a/lib_lc3plus/plc_phecu_setf0hz_fx.c +++ b/lib_lc3plus/plc_phecu_setf0hz_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..50dcb5030a8b5075c2d8ee60d44dd85469c288fe 100644 --- a/lib_lc3plus/plc_phecu_tools_fx.c +++ b/lib_lc3plus/plc_phecu_tools_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..aa767935ec764c90087563e42e0369f5fe8a2036 100644 --- a/lib_lc3plus/plc_tdac_fx.c +++ b/lib_lc3plus/plc_tdac_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..903dc63e58bde51d8fb5e2f6d73c3f1c9b81dd52 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..15c59832ae0aac2a83fcf40e708016d84f148d07 100644 --- a/lib_lc3plus/plc_tdc_lagwin_fx.c +++ b/lib_lc3plus/plc_tdc_lagwin_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..a11ebd2ce0a834f1fd0f3a7a442cf38db10280b4 100644 --- a/lib_lc3plus/plc_tdc_main_fx.c +++ b/lib_lc3plus/plc_tdc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..a18c1429bfe16d34661351bf63ed5359d0e29503 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..8385ad46ba5873ee0e65761ee9c42c6d2d80d665 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 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..315e50220fc23fe79dcc83afca5821cbbad21ba3 100644 --- a/lib_lc3plus/plc_update_fx.c +++ b/lib_lc3plus/plc_update_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..078c848559ce1bf3f6195c6dd16ff3f7fff0e939 100644 --- a/lib_lc3plus/plc_xcorr_fx.c +++ b/lib_lc3plus/plc_xcorr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..f543f9903cf01f1028d8f0bafea071b015175103 100644 --- a/lib_lc3plus/pvq_dec_fx.c +++ b/lib_lc3plus/pvq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..d1185f62a74438def61e3d4eb82562216788e1b7 100644 --- a/lib_lc3plus/pvq_enc_fx.c +++ b/lib_lc3plus/pvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..a5f61a2dc618d24185319a681a4e48ea0c6b8edb 100644 --- a/lib_lc3plus/pvq_index_fx.c +++ b/lib_lc3plus/pvq_index_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..581f8df24083a6559abe2739a473acba78af7002 100644 --- a/lib_lc3plus/quantize_spec_fx.c +++ b/lib_lc3plus/quantize_spec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..f4face68558d47eccdf11d803f04c92718aaa94e 100644 --- a/lib_lc3plus/reorder_bitstream_fx.c +++ b/lib_lc3plus/reorder_bitstream_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..7b49c05337bf1a6ae2577c376c2efed898f86f26 100644 --- a/lib_lc3plus/resamp12k8_fx.c +++ b/lib_lc3plus/resamp12k8_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..dbfcb93dc9b67c6e02f6d7d885b37249fd1c5a11 100644 --- a/lib_lc3plus/residual_coding_fx.c +++ b/lib_lc3plus/residual_coding_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..0b05aa35b46bbf9ccee38a08e77a246dfb8d559b 100644 --- a/lib_lc3plus/residual_decoding_fx.c +++ b/lib_lc3plus/residual_decoding_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..aac3d3ed7aaa9c3912a0e8fe524f422390f1d5c8 100644 --- a/lib_lc3plus/rom_basop_util_lc3plus.c +++ b/lib_lc3plus/rom_basop_util_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..62f8caf6e2342e79641690e1a3216a9d08b0d913 100644 --- a/lib_lc3plus/rom_basop_util_lc3plus.h +++ b/lib_lc3plus/rom_basop_util_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..280a2568830fa5b930219b2c1f756c63cbd34eb7 100644 --- a/lib_lc3plus/scale_signal24_fx.c +++ b/lib_lc3plus/scale_signal24_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..c796eee77affc4cae0468286c3fb92ae121c240e 100644 --- a/lib_lc3plus/setup_com_lc3plus.c +++ b/lib_lc3plus/setup_com_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..aabf72120a0dfd651feb521415f9d50199fec6aa 100644 --- a/lib_lc3plus/setup_dec_lc3plus.c +++ b/lib_lc3plus/setup_dec_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..6e4805e6bebfb683d2b7f859f88ce021f43d6331 100644 --- a/lib_lc3plus/setup_dec_lc3plus.h +++ b/lib_lc3plus/setup_dec_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..5e84f1749b277e7b1021bc55b06d19372a801d66 100644 --- a/lib_lc3plus/setup_enc_lc3plus.c +++ b/lib_lc3plus/setup_enc_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..b8985f2a433261718ccea452e66996f77722dea5 100644 --- a/lib_lc3plus/setup_enc_lc3plus.h +++ b/lib_lc3plus/setup_enc_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..d038eaabc8b66ef75c86ec29fd137b0199d86e47 100644 --- a/lib_lc3plus/sns_compute_scf_fx.c +++ b/lib_lc3plus/sns_compute_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..6c080eeb813b364a9dbde6426210ffdbbb73f76a 100644 --- a/lib_lc3plus/sns_interpolate_scf_fx.c +++ b/lib_lc3plus/sns_interpolate_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..e07b1af21e5a94f96cda469535d517f6ba95ab01 100644 --- a/lib_lc3plus/sns_quantize_scf_fx.c +++ b/lib_lc3plus/sns_quantize_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..6f903682dc5ffc39a9f53e8685c1caf23252f557 100644 --- a/lib_lc3plus/tns_coder_fx.c +++ b/lib_lc3plus/tns_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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..a9c349f6e467c5f3b11232a6ed9f8f0cf50795ac 100644 --- a/lib_lc3plus/tns_decoder_fx.c +++ b/lib_lc3plus/tns_decoder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * 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 56b9bd7e9ecd412c900eb18b7025a6146620f1d5..4f857ac37d6c01b1fedd8f06bd44de1c5e9777e2 100644 --- a/lib_rend/ivas_allrad_dec_fx.c +++ b/lib_rend/ivas_allrad_dec_fx.c @@ -1,35 +1,7 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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" @@ -98,17 +70,10 @@ ivas_error ivas_sba_get_hoa_dec_matrix_fx( } ELSE IF( EQ_32( hOutSetup.output_config, IVAS_AUDIO_CONFIG_STEREO ) ) { -#ifdef FIX_1521_SBA_LOUDNESS_STEREO ( *hoa_dec_mtx )[0] = INV_SQRT2_FX >> 2; ( *hoa_dec_mtx )[1] = INV_SQRT2_FX >> 2; ( *hoa_dec_mtx )[SBA_NHARM_HOA3] = INV_SQRT2_FX >> 2; ( *hoa_dec_mtx )[SBA_NHARM_HOA3 + 1] = -( INV_SQRT2_FX >> 2 ); -#else - ( *hoa_dec_mtx )[0] = ONE_IN_Q28; // 0.5f in Q29 - ( *hoa_dec_mtx )[1] = ONE_IN_Q28; // 0.5f in Q29 - ( *hoa_dec_mtx )[SBA_NHARM_HOA3] = ONE_IN_Q28; // 0.5f in Q29 - ( *hoa_dec_mtx )[SBA_NHARM_HOA3 + 1] = -ONE_IN_Q28; // 0.5f in Q29 -#endif move32(); move32(); move32(); diff --git a/lib_rend/ivas_binRenderer_internal_fx.c b/lib_rend/ivas_binRenderer_internal_fx.c index 3d7241a97fbc2282bc6330357d4049b46deb5612..713120d4f32b80bf001770f5dcb5e41f72c81b26 100644 --- a/lib_rend/ivas_binRenderer_internal_fx.c +++ b/lib_rend/ivas_binRenderer_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,9 +13,6 @@ #include "ivas_rom_binauralRenderer.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*----------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_cldfb_ring_buffer.c b/lib_rend/ivas_cldfb_ring_buffer.c index e6de5e65d475a01194c75ac882a72b95ea413ff5..0094f85061f205e4096fd94fbf2a07b5e064c55d 100644 --- a/lib_rend/ivas_cldfb_ring_buffer.c +++ b/lib_rend/ivas_cldfb_ring_buffer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,9 +8,6 @@ #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" diff --git a/lib_rend/ivas_crend_fx.c b/lib_rend/ivas_crend_fx.c index fb652a3898b3d7a8cd4cb88d7f43b07bafa5dec3..5c96f738467bc8e093a89ffe2485b2ec827815c4 100644 --- a/lib_rend/ivas_crend_fx.c +++ b/lib_rend/ivas_crend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -40,9 +12,6 @@ #include "ivas_stat_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 9bdbc987ead1728915200fae0990c3b128ce3460..42162501cd10a9232a2358965903a75d93dfb910 100644 --- a/lib_rend/ivas_dirac_ana_fx.c +++ b/lib_rend/ivas_dirac_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c index f82cce81066581549af9a47f5d2bf36fde8eb8ae..a00f4e3ee66f7a3706e89fcf8ca55580b1d9eeae 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_dirac_decorr_dec_fx.c b/lib_rend/ivas_dirac_decorr_dec_fx.c index 792ac76de21f62a354cdecf58298ae099928af0b..b222729fbf3cc1da73541d420b7ef9979b09d495 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_dirac_onsets_dec_fx.c b/lib_rend/ivas_dirac_onsets_dec_fx.c index 5abc1f73e96b45ad8840b9b04505e5776aff5597..7d8c8d847282e469bb5d6e9fdbe63fae15240573 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 0a6afb017deed119a11f2a010b0bb3ae34acf41d..a405b92450479e082eb92261fd6fa72a825ba38e 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -3001,14 +2973,12 @@ void ivas_dirac_dec_compute_directional_responses_fx( move32(); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( transport_signal_type, MASA_DUAL_MONO ) ) { direct_response_fx[0] = ONE_IN_Q29; /*q29*/ move32(); /* direct_response[1] is not adjusted for dual mono input */ } -#endif ELSE { set32_fx( direct_response_fx, ONE_IN_Q29, hDirACRend->num_protos_ambi ); /*q29*/ diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c index d562721086669386055383bdf0b3e0fe6f7a0d0b..8e9f3fbd9ec11cea2b1e78348ac63334b3f1108a 100644 --- a/lib_rend/ivas_dirac_rend_fx.c +++ b/lib_rend/ivas_dirac_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -41,7 +13,6 @@ #include "ivas_prot_fx.h" #include "ivas_rom_binaural_crend_head.h" -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES /*------------------------------------------------------------------------------------------* * Local constants *------------------------------------------------------------------------------------------*/ @@ -49,7 +20,6 @@ /* Constants for MASA dual mono detection */ #define MASA_DUAL_MONO_TAU1_FX 33554432 /* Q31, float 0.01562500000000000f, which is 2^-6, which is about -18 dB */ #define MASA_DUAL_MONO_TAU2_FX 16384 /* Q31, float 0.00000762939453125f, which is 2^-17, which is about -51 dB */ -#endif /*------------------------------------------------------------------------- * ivas_dirac_allocate_parameters() @@ -1730,16 +1700,11 @@ void protoSignalComputation2_fx( Word16 q_sum_total_ratio = 0; move16(); Word32 a_fx, b_fx, a2_fx, b2_fx; -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES Word16 interpolatorSpaced_fx, interpolatorDmx_fx, interpolatorDualMono_fx; Word32 tempSpaced_fx, tempDmx_fx, tempDualMono_fx; Word64 inst_diff_bb_power_64fx; Word16 inst_diff_bb_power_norm; Word16 max_band_diff_ene; -#else - Word16 interpolatorSpaced_fx, interpolatorDmx_fx; - Word32 tempSpaced_fx, tempDmx_fx; -#endif Word16 q_shift, min_q_shift[2], exp, q_temp[2]; Word32 temp; Word64 W_tmp1, W_tmp2, W_tmp3; @@ -1760,7 +1725,6 @@ void protoSignalComputation2_fx( move16(); interpolatorDmx_fx = MAX16B; move16(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES interpolatorDualMono_fx = 0; move16(); @@ -1770,7 +1734,6 @@ void protoSignalComputation2_fx( { max_band_diff_ene = s_min( stereo_type_detect->max_band_diff_ene, num_freq_bands ); /* Local version for correct maximum */ } -#endif /* Calculate the max shift possible for the buffers RealBuffer_fx and ImagBuffer_fx */ FOR( l = 0; l < 2; l++ ) @@ -1943,7 +1906,6 @@ void protoSignalComputation2_fx( total_hi_power_fx = 0; move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES inst_diff_bb_power_64fx = 0; move64(); @@ -1957,7 +1919,6 @@ void protoSignalComputation2_fx( stereo_type_detect->q_inst_total_bb_power_fx = Q31; move16(); -#endif dipole_freq_range[0] = stereo_type_detect->dipole_freq_range[0]; move16(); dipole_freq_range[1] = stereo_type_detect->dipole_freq_range[1]; @@ -1978,12 +1939,9 @@ void protoSignalComputation2_fx( /* interpolatorSpaced = ( (float) ( stereo_type_detect->interpolator ) ) / ( (float) MASA_STEREO_INTERPOLATION_SLOTS ); */ interpolatorSpaced_fx = i_mult_sat( stereo_type_detect->interpolator, 2048 /* 1 / MASA_STEREO_INTERPOLATION_SLOTS in Q15 */ ); /* Q15 */ interpolatorDmx_fx = sub( MAX16B, interpolatorSpaced_fx ); /* Q15 */ -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES interpolatorDualMono_fx = interpolatorDmx_fx; move16(); -#endif } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( stereo_type_detect->type_change_direction, MASA_DUAL_MONO ) ) { /* interpolatorDualMono = ( (float) ( stereo_type_detect->interpolator ) ) / ( (float) MASA_STEREO_INTERPOLATION_SLOTS ); */ @@ -1992,16 +1950,13 @@ void protoSignalComputation2_fx( interpolatorSpaced_fx = interpolatorDmx_fx; move16(); } -#endif ELSE { /* interpolatorDmx = ( (float) ( stereo_type_detect->interpolator ) ) / ( (float) MASA_STEREO_INTERPOLATION_SLOTS ); */ interpolatorDmx_fx = i_mult_sat( stereo_type_detect->interpolator, 2048 /* 1 / MASA_STEREO_INTERPOLATION_SLOTS in Q15 */ ); /* Q15 */ interpolatorSpaced_fx = sub( MAX16B, interpolatorDmx_fx ); /* Q15 */ -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES interpolatorDualMono_fx = interpolatorSpaced_fx; move16(); -#endif } } @@ -2142,7 +2097,6 @@ void protoSignalComputation2_fx( q_sum_total_ratio = s_max( q_sum_total_ratio, exp_sum_total_ratio_fx[l] ); } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES RealSubtract_fx = L_sub( re1, re2 ); // q_cldfb+min_q_shift ImagSubtract_fx = L_sub( im1, im2 ); // q_cldfb+min_q_shift @@ -2179,80 +2133,12 @@ void protoSignalComputation2_fx( } } } -#else - IF( l == 0 ) - { - RealSubtract_fx = L_sub( re1, re2 ); // q_cldfb+min_q_shift - ImagSubtract_fx = L_sub( im1, im2 ); // q_cldfb+min_q_shift - - temp = Madd_32_32( Mpy_32_32( RealSubtract_fx, RealSubtract_fx ), ImagSubtract_fx, ImagSubtract_fx ); // 2*(q_cldfb+min_q_shift)-31 - assert( qidx == 0 ); - IF( LT_16( q_temp[qidx], stereo_type_detect->q_subtract_power_y ) ) - { - stereo_type_detect->subtract_power_y_fx = L_add( L_shr( stereo_type_detect->subtract_power_y_fx, sub( stereo_type_detect->q_subtract_power_y, q_temp[qidx] ) ), temp ); // q_temp - move32(); - stereo_type_detect->q_subtract_power_y = q_temp[qidx]; - move16(); - } - ELSE - { - stereo_type_detect->subtract_power_y_fx = L_add( stereo_type_detect->subtract_power_y_fx, L_shr( temp, sub( q_temp[qidx], stereo_type_detect->q_subtract_power_y ) ) ); // stereo_type_detect->q_subtract_power_y - move32(); - } - } -#endif /* Compute protos (and their power) for direct sound rendering */ /* W prototype */ IF( stereo_type_detect->interpolator > 0 ) { -#ifndef FIX_FLOAT_1578_OMASA_REND_SPIKES - IF( L_or( LT_16( l, sub( dipole_freq_range[1], 1 ) ), GE_16( l, MASA_SUM_PROTO_START_BIN ) ) ) - { - Real_aux_fx = Madd_32_16( Mpy_32_16_1( Real_aux_fx, shr( interpolatorSpaced_fx, 1 ) ), Real_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - Imag_aux_fx = Madd_32_16( Mpy_32_16_1( Imag_aux_fx, shr( interpolatorSpaced_fx, 1 ) ), Imag_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - - temp = Madd_32_32( Mpy_32_32( Real_aux_fx, Real_aux_fx ), Imag_aux_fx, Imag_aux_fx ); // 2*(q_cldfb+min_q_shift) -31 - IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) - { - proto_power_smooth_fx[l] = L_add( L_shr( proto_power_smooth_fx[l], sub( q_proto_power_smooth[qidx], q_temp[qidx] ) ), temp ); // q_temp - move32(); - } - ELSE - { - proto_power_smooth_fx[l] = L_add( proto_power_smooth_fx[l], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth - move32(); - } - - p_proto_buffer_fx[2 * l] = Real_aux_fx; // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * l + 1] = Imag_aux_fx; // q_cldfb+min_q_shift - move32(); - } - ELSE - { - tempSpaced_fx = Madd_32_32( Mpy_32_32( re1, re1 ), im1, im1 ); // 2*(q_cldfb+min_q_shift)-31 - tempDmx_fx = Madd_32_32( Mpy_32_32( Real_aux_fx, Real_aux_fx ), Imag_aux_fx, Imag_aux_fx ); // 2*(q_cldfb+min_q_shift)-31 - - temp = Madd_32_16( Mpy_32_16_1( tempSpaced_fx, interpolatorSpaced_fx ), tempDmx_fx, interpolatorDmx_fx ); // 2*(q_cldfb+min_q_shift)-31 - IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) - { - proto_power_smooth_fx[l] = L_add( L_shr( proto_power_smooth_fx[l], sub( q_proto_power_smooth[qidx], q_temp[qidx] ) ), temp ); // q_temp - move32(); - } - ELSE - { - proto_power_smooth_fx[l] = L_add( proto_power_smooth_fx[l], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth - move32(); - } - - p_proto_buffer_fx[2 * l] = Madd_32_16( Mpy_32_16_1( re1, interpolatorSpaced_fx ), Real_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * l + 1] = Madd_32_16( Mpy_32_16_1( im1, interpolatorSpaced_fx ), Imag_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } -#else test(); test(); test(); @@ -2383,7 +2269,6 @@ void protoSignalComputation2_fx( p_proto_buffer_fx[2 * l + 1] = Imag_aux_fx; // q_cldfb+min_q_shift move32(); } -#endif } ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_STEREO_SPACED_MICS ) ) { @@ -2429,7 +2314,6 @@ void protoSignalComputation2_fx( move32(); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_DUAL_MONO ) ) { Real_aux_fx = L_shr( Real_aux_fx, 1 ); // q_cldfb+min_q_shift @@ -2452,9 +2336,6 @@ void protoSignalComputation2_fx( move32(); } ELSE /* MASA_STEREO_DOWNMIX */ -#else - ELSE -#endif { temp = Madd_32_32( Mpy_32_32( Real_aux_fx, Real_aux_fx ), Imag_aux_fx, Imag_aux_fx ); // 2*(q_cldfb+min_q_shift)-31 IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) @@ -2477,41 +2358,6 @@ void protoSignalComputation2_fx( /* Y prototype */ IF( stereo_type_detect->interpolator > 0 ) { -#ifndef FIX_FLOAT_1578_OMASA_REND_SPIKES - IF( LT_16( l, dipole_freq_range[0] ) ) - { - p_proto_buffer_fx[2 * ( num_freq_bands + l )] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l], interpolatorSpaced_fx ), L_sub( re1, re2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l + 1], interpolatorSpaced_fx ), L_sub( im1, im2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } - ELSE IF( LT_16( l, dipole_freq_range[1] ) ) - { - p_proto_buffer_fx[2 * ( num_freq_bands + l )] = Madd_32_16( Mpy_32_16_1( L_sub( im1, im2 ), interpolatorSpaced_fx ), L_sub( re1, re2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] = Madd_32_16( Mpy_32_16_1( -L_sub( re1, re2 ), interpolatorSpaced_fx ), L_sub( im1, im2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } - ELSE - { - p_proto_buffer_fx[2 * ( num_freq_bands + l )] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l], interpolatorSpaced_fx ), L_sub( re1, re2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l + 1], interpolatorSpaced_fx ), L_sub( im1, im2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } - - temp = Madd_32_32( Mpy_32_32( p_proto_buffer_fx[2 * ( num_freq_bands + l )], p_proto_buffer_fx[2 * ( num_freq_bands + l )] ), p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1], p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] ); // 2*(q_cldfb+min_q_shift)-31 - IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) - { - proto_power_smooth_fx[l + num_freq_bands] = L_add( L_shr( proto_power_smooth_fx[l + num_freq_bands], sub( q_proto_power_smooth[qidx], q_temp[qidx] ) ), temp ); // q_temp - move32(); - } - ELSE - { - proto_power_smooth_fx[l + num_freq_bands] = L_add( proto_power_smooth_fx[l + num_freq_bands], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth - move32(); - } -#else test(); test(); test(); @@ -2587,7 +2433,6 @@ void protoSignalComputation2_fx( proto_power_smooth_fx[l + num_freq_bands] = L_add( proto_power_smooth_fx[l + num_freq_bands], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth move32(); } -#endif } ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_STEREO_SPACED_MICS ) ) { @@ -2629,7 +2474,6 @@ void protoSignalComputation2_fx( move32(); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_DUAL_MONO ) ) { /* proto = W */ @@ -2641,9 +2485,6 @@ void protoSignalComputation2_fx( move32(); } ELSE /* MASA_STEREO_DOWNMIX */ -#else - ELSE -#endif { p_proto_buffer_fx[2 * ( num_freq_bands + l )] = L_sub( re1, re2 ); // q_cldfb+min_q_shift move32(); @@ -2818,14 +2659,12 @@ void protoSignalComputation2_fx( stereo_type_detect->min_sum_total_ratio_db_fx = min_sum_total_ratio_db_fx; // Q21 move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES /* Convert inst_diff to Word32 */ inst_diff_bb_power_norm = W_norm( inst_diff_bb_power_64fx ); stereo_type_detect->inst_diff_bb_power_fx = W_extract_h( W_shl( inst_diff_bb_power_64fx, inst_diff_bb_power_norm ) ); move32(); stereo_type_detect->q_inst_diff_bb_power_fx = add( shl( add( q_cldfb, s_min( min_q_shift[0], min_q_shift[1] ) ), 1 ), sub( inst_diff_bb_power_norm, 32 ) ); move16(); -#endif ivas_masa_stereotype_detection_fx( stereo_type_detect ); } @@ -3394,12 +3233,8 @@ void computeDirectionAngles_fx( *------------------------------------------------------------------------*/ void ivas_masa_init_stereotype_detection_fx( -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES MASA_STEREO_TYPE_DETECT *stereo_type_detect, Word32 ivas_total_brate_fx ) -#else - MASA_STEREO_TYPE_DETECT *stereo_type_detect ) -#endif { stereo_type_detect->masa_stereo_type = MASA_STEREO_DOWNMIX; move32(); @@ -3471,7 +3306,6 @@ void ivas_masa_init_stereotype_detection_fx( move32(); stereo_type_detect->subtract_target_ratio_db_fx = 0; move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES stereo_type_detect->inst_diff_bb_power_fx = 0; move32(); @@ -3489,7 +3323,6 @@ void ivas_masa_init_stereotype_detection_fx( stereo_type_detect->max_band_diff_ene = 18; move16(); } -#endif return; } @@ -3518,12 +3351,10 @@ void ivas_masa_stereotype_detection_fx( Word32 lr_total_bb_temp_fx; Word32 lr_total_hi_temp_fx; Word32 temp; -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES Word16 change_to_dual_mono_selection; Word32 diffPerSum_fx; /* Q31 */ Word16 scale; Word32 tau; /* Q31 */ -#endif lr_total_bb_ratio_db_fx = stereo_type_detect->lr_total_bb_ratio_db_fx; // q21 move32(); @@ -3534,7 +3365,6 @@ void ivas_masa_stereotype_detection_fx( subtract_target_ratio_db_fx = stereo_type_detect->subtract_target_ratio_db_fx; // q21 move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES /* Determine if broadband energy and ratio between difference broadband energy and broadband energy indicate * that the signal type is dual mono */ change_to_dual_mono_selection = 0; @@ -3560,7 +3390,6 @@ void ivas_masa_stereotype_detection_fx( } } -#endif /* Determine if the determined features match the spaced mic type */ change_to_spaced_selection = 0; move16(); @@ -3637,16 +3466,12 @@ void ivas_masa_stereotype_detection_fx( } ELSE { -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES IF( EQ_16( change_to_dual_mono_selection, 1 ) ) { stereo_type_detect->masa_stereo_type = MASA_DUAL_MONO; move32(); } ELSE IF( EQ_16( change_to_spaced_selection, 1 ) ) -#else - IF( EQ_16( change_to_spaced_selection, 1 ) ) -#endif { stereo_type_detect->masa_stereo_type = MASA_STEREO_SPACED_MICS; move32(); diff --git a/lib_rend/ivas_efap_fx.c b/lib_rend/ivas_efap_fx.c index ba8d2eef79f9814b84763c9c191f02d5807549e9..e25807f9c58dc77c31238789d60e2c0e7f655cdc 100644 --- a/lib_rend/ivas_efap_fx.c +++ b/lib_rend/ivas_efap_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -49,18 +21,14 @@ #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 MAX_AZI_GAP 13421773 /* (1.f / 160.0f) in Q31 */ -#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 MAX_AZI_GAP 13421773 /* (1.f / 160.0f) in Q31 */ +#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 1775c11f439bb3e60fcca503ad34bcaf595fc1df..418dfe1b9c12c1d678984e070535ba510359d306 100644 --- a/lib_rend/ivas_hrtf_fx.c +++ b/lib_rend/ivas_hrtf_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_masa_merge_fx.c b/lib_rend/ivas_masa_merge_fx.c index ee1480f06a1cd9db70f861d05954200362df8148..db894e20b614c733c6ca255be508d7fa335a0393 100644 --- a/lib_rend/ivas_masa_merge_fx.c +++ b/lib_rend/ivas_masa_merge_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "ivas_prot_rend_fx.h" diff --git a/lib_rend/ivas_mcmasa_ana_fx.c b/lib_rend/ivas_mcmasa_ana_fx.c index baf121956523e7a544fb8ed46195f63445906533..256dba81ea1d0d22c6ee91b7ab537fb3ce975568 100644 --- a/lib_rend/ivas_mcmasa_ana_fx.c +++ b/lib_rend/ivas_mcmasa_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_objectRenderer_fx.c b/lib_rend/ivas_objectRenderer_fx.c index 5266824fe251c3435d1ba1bd761488d43a419778..38a2e63cfa7212878b12a4a5e5c703e163b4cfe5 100644 --- a/lib_rend/ivas_objectRenderer_fx.c +++ b/lib_rend/ivas_objectRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_stat_rend.h" #include @@ -38,9 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*---------------------------------------------------------------------* @@ -202,21 +171,12 @@ ivas_error ivas_td_binaural_open_unwrap_fx( DistAtten.DistAttenModel = TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED; // Q0 move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION DistAtten.MaxDist_fx = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ move32(); DistAtten.RefDist_fx = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 move32(); DistAtten.RollOffFactor_fx = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 move32(); -#else - DistAtten.MaxDist_fx = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ - move32(); - DistAtten.RefDist_fx = ONE_IN_Q30; // Q30 - move32(); - DistAtten.RollOffFactor_fx = ONE_IN_Q30; // Q30 - move32(); -#endif // TDREND_SRC_SPATIAL_t *SrcSpatial_p = pBinRendTd->Sources[nS]->SrcSpatial_p; IF( NE_32( ( error = TDREND_MIX_SRC_SetPos_fx( pBinRendTd, nS, Pos_fx ) ), IVAS_ERR_OK ) ) @@ -271,21 +231,12 @@ ivas_error ivas_td_binaural_open_unwrap_fx( { DistAtten.DistAttenModel = TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED; // Q0 move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION DistAtten.MaxDist_fx = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ move32(); DistAtten.RefDist_fx = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 move32(); DistAtten.RollOffFactor_fx = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 move32(); -#else - DistAtten.MaxDist_fx = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ - move32(); - DistAtten.RefDist_fx = ONE_IN_Q30; // Q30 - move32(); - DistAtten.RollOffFactor_fx = ONE_IN_Q30; // Q30 - move32(); -#endif } ELSE { @@ -738,9 +689,7 @@ ivas_error TDREND_Update_listener_orientation_fx( Word32 Rmat_fx[3][3]; Word16 orient_q, headPosition_q; Word32 Pos_p_fx[3]; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 Pos_q; -#endif ivas_error error; IF( headRotEnabled ) @@ -779,9 +728,7 @@ ivas_error TDREND_Update_listener_orientation_fx( Pos_p_fx[0] = ( *Pos_fx ).x_fx; // Q Pos_fx->q_fact Pos_p_fx[1] = ( *Pos_fx ).y_fx; // Q Pos_fx->q_fact Pos_p_fx[2] = ( *Pos_fx ).z_fx; // Q Pos_fx->q_fact -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Pos_q = ( *Pos_fx ).q_fact; -#endif } ELSE { @@ -789,16 +736,12 @@ ivas_error TDREND_Update_listener_orientation_fx( Pos_p_fx[0] = 0; Pos_p_fx[1] = 0; Pos_p_fx[2] = 0; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Pos_q = Q31; -#endif } move32(); move32(); move32(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION move16(); -#endif } ELSE { @@ -827,18 +770,12 @@ ivas_error TDREND_Update_listener_orientation_fx( move32(); Pos_p_fx[2] = 0; move32(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Pos_q = Q31; move16(); -#endif } /* Set the listener position and orientation:*/ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION TDREND_MIX_LIST_SetPos_fx( hBinRendererTd, Pos_p_fx, Pos_q ); -#else - TDREND_MIX_LIST_SetPos_fx( hBinRendererTd, Pos_p_fx ); -#endif error = TDREND_MIX_LIST_SetOrient_fx( hBinRendererTd, FrontVec_fx, UpVec_fx, orient_q ); @@ -1021,49 +958,22 @@ ivas_error ivas_td_binaural_renderer_ext_fx( { Word16 idx = subframe_idx; move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 pos_q = Q31; -#else - Word16 pos_q = Q25; -#endif move16(); test(); IF( *hCombinedOrientationData != NULL && ( *hCombinedOrientationData )->listenerPos != NULL ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION_BUGFIX ( *hCombinedOrientationData )->listenerPos[idx].q_fact = pos_q; -#else - pos_q = ( *hCombinedOrientationData )->listenerPos[idx].q_fact; -#endif move16(); -#else - ( *hCombinedOrientationData )->listenerPos[idx].x_fx = L_shr( ( *hCombinedOrientationData )->listenerPos[idx].x_fx, sub( ( *hCombinedOrientationData )->listenerPos[idx].q_fact, pos_q ) ); - move32(); - ( *hCombinedOrientationData )->listenerPos[idx].y_fx = L_shr( ( *hCombinedOrientationData )->listenerPos[idx].y_fx, sub( ( *hCombinedOrientationData )->listenerPos[idx].q_fact, pos_q ) ); - move32(); - ( *hCombinedOrientationData )->listenerPos[idx].z_fx = L_shr( ( *hCombinedOrientationData )->listenerPos[idx].z_fx, sub( ( *hCombinedOrientationData )->listenerPos[idx].q_fact, pos_q ) ); - move32(); - ( *hCombinedOrientationData )->listenerPos[idx].q_fact = pos_q; - move16(); -#endif } FOR( Word16 i = 0; i < 3; i++ ) { pTDRend->hBinRendererTd->Listener_p->Pos_fx[i] = L_shr( pTDRend->hBinRendererTd->Listener_p->Pos_fx[i], sub( pTDRend->hBinRendererTd->Listener_p->Pos_q, pos_q ) ); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - move32(); -#else - pTDRend->hBinRendererTd->Listener_p->Pos_q = pos_q; move32(); - move16(); -#endif } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION pTDRend->hBinRendererTd->Listener_p->Pos_q = pos_q; move16(); -#endif } IF( NE_32( ( error = ivas_td_binaural_renderer_unwrap_fx( hReverb, transport_config, pTDRend->hBinRendererTd, num_src, lfe_idx, ivas_format, hIsmMetaData, *hCombinedOrientationData, diff --git a/lib_rend/ivas_objectRenderer_hrFilt_fx.c b/lib_rend/ivas_objectRenderer_hrFilt_fx.c index 2a404c94b08125adcfbfc0ee95e8e84e586564a7..603e6d811f5c77270109d16ca2b491876ec880b3 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt_fx.c +++ b/lib_rend/ivas_objectRenderer_hrFilt_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -38,7 +10,6 @@ #include "ivas_rom_rend.h" #include "ivas_cnst.h" #include "wmc_auto.h" -#include "debug.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c index 088d6bda31e4d15e98cb5e06f39940b1054a97a5..dd537c06b64031f325e9929d9df0b23796a618d6 100644 --- a/lib_rend/ivas_objectRenderer_mix_fx.c +++ b/lib_rend/ivas_objectRenderer_mix_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -55,12 +27,8 @@ static ivas_error DefaultBSplineModel_fx( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, void TDREND_MIX_LIST_SetPos_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - const Word32 *Pos_p, /* i : Listener's position */ - const Word16 Pos_q /* i : Listener's position Q */ -#else - const Word32 *Pos_p /* i : Listener's position */ // Q Pos_fx->q_fact -#endif + const Word32 *Pos_p, /* i : Listener's position */ + const Word16 Pos_q /* i : Listener's position Q */ ) { TDREND_MIX_Listener_t *Listener_p; @@ -68,19 +36,13 @@ void TDREND_MIX_LIST_SetPos_fx( Listener_p = hBinRendererTd->Listener_p; test(); test(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION test(); IF( NE_32( Pos_p[0], Listener_p->Pos_fx[0] ) || NE_32( Pos_p[1], Listener_p->Pos_fx[1] ) || NE_32( Pos_p[2], Listener_p->Pos_fx[2] ) || NE_16( Pos_q, Listener_p->Pos_q ) ) -#else - IF( NE_32( Pos_p[0], Listener_p->Pos_fx[0] ) || NE_32( Pos_p[1], Listener_p->Pos_fx[1] ) || NE_32( Pos_p[2], Listener_p->Pos_fx[2] ) ) -#endif { /* Set position */ Copy32( Pos_p, Listener_p->Pos_fx, 3 ); // Q Pos_fx->q_fact -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Listener_p->Pos_q = Pos_q; move16(); -#endif /* Set pose update flag */ Listener_p->PoseUpdated = TRUE; @@ -212,11 +174,7 @@ ivas_error TDREND_MIX_Init_fx( } /* Init virtual and rendering listeners for spatial mixers */ TDREND_SPATIAL_VecInit_fx( hBinRendererTd->Listener_p->Pos_fx, 0, 0, 0 ); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION hBinRendererTd->Listener_p->Pos_q = Q31; -#else - hBinRendererTd->Listener_p->Pos_q = Q25; -#endif move16(); TDREND_SPATIAL_VecInit_fx( hBinRendererTd->Listener_p->Vel_fx, 0, 0, 0 ); TDREND_SPATIAL_VecInit_fx( hBinRendererTd->Listener_p->Front_fx, 0, 0, -ONE_IN_Q30 ); diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c index c54dc8676aeec81fbed83fe9b11799a085d71968..bcd802e3ebe59e2a06488ee91bc755308e9aa3c9 100644 --- a/lib_rend/ivas_objectRenderer_sfx_fx.c +++ b/lib_rend/ivas_objectRenderer_sfx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index 611c0c45e39e86cfae34fbe6f5c6c72cd1d2cd0f..0eee406517e3eb0e49da118798684e767681572d 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,9 +8,7 @@ #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #include "rom_com.h" -#endif /*---------------------------------------------------------------------* * Local function prototypes @@ -319,9 +289,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word32 ListRelPos[3]; Word32 ListRelDist; Word32 ListRelPosAbs[3]; /* Relative position, ignoring orientation of listener */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 ListRelPosAbs_e; -#endif Word32 Azim, Elev; Word32 hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; Word32 hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; @@ -329,14 +297,10 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word32 azim_delta; Word32 elev_delta; Word16 ListRelPos_e, ListRelDist_e; -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 pos_q; Word32 Src_p_tmp[3]; Word32 Listener_p_tmp[3]; -#endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; @@ -348,17 +312,12 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( { /* Absolute position */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Align to smallest common Q-factor */ pos_q = s_min( SrcSpatial_p->q_Pos_p, Listener_p->Pos_q ); Copy_Scale_sig32( SrcSpatial_p->Pos_p_fx, Src_p_tmp, 3, sub( pos_q, SrcSpatial_p->q_Pos_p ) ); Copy_Scale_sig32( Listener_p->Pos_fx, Listener_p_tmp, 3, sub( pos_q, Listener_p->Pos_q ) ); TDREND_SPATIAL_VecMapToNewCoordSystem_fx( Src_p_tmp, Listener_p_tmp, Listener_p->Front_fx, Listener_p->Up_fx, Listener_p->Right_fx, ListRelPos, ListRelPosAbs ); ListRelPos_e = sub( 32, pos_q ); // output q of above function is pos_q + Q30 - 31. so exp will be 62 - pos_q - 30 = 32 - pos_q -#else - TDREND_SPATIAL_VecMapToNewCoordSystem_fx( SrcSpatial_p->Pos_p_fx, Listener_p->Pos_fx, Listener_p->Front_fx, Listener_p->Up_fx, Listener_p->Right_fx, ListRelPos, ListRelPosAbs ); - ListRelPos_e = 7; // output q of above function is Q25 + Q30 - 31. so exp will be 62 - Q25 - Q30. -#endif move16(); ListRelDist = TDREND_SPATIAL_VecNorm_fx( ListRelPos, ListRelPos_e, &ListRelDist_e ); @@ -398,12 +357,8 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( move16(); IF( SrcSpatial_p->DirAttenEnabled ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION ListRelPosAbs_e = sub( 31, pos_q ); *SrcRend_p->DirGain_p_fx = TDREND_SRC_SPATIAL_GetDirGain_fx( &SrcSpatial_p->DirAtten, SrcSpatial_p->Front_p_fx, ListRelPosAbs, ListRelPosAbs_e ); -#else - *SrcRend_p->DirGain_p_fx = TDREND_SRC_SPATIAL_GetDirGain_fx( &SrcSpatial_p->DirAtten, SrcSpatial_p->Front_p_fx, ListRelPosAbs, 6 ); -#endif } /* Distance gain */ @@ -486,24 +441,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( move32(); set32_fx( hrf_left, 0, *filterlength ); set32_fx( hrf_right, 0, *filterlength ); -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION pan = add( extract_h( L_shl( SrcSpatial_p->Pos_p_fx[1], sub( Q21, SrcSpatial_p->q_Pos_p ) ) ), 32 ); -#else - pan = add( mult_r( extract_h( SrcSpatial_p->Pos_p_fx[1] ), 2048 ), 32 ); -#endif hrf_left[0] = L_shl_r( cos_table_129[64 - pan], 10 ); hrf_right[0] = L_shl_r( cos_table_129[pan], 10 ); -#else -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - hrf_left[0] = L_shr( L_add( L_shl( SrcSpatial_p->Pos_p_fx[1], sub( Q25, SrcSpatial_p->q_Pos_p ) ), ONE_IN_Q25 ), 1 ); // Q25 -#else - hrf_left[0] = L_shr( L_add( SrcSpatial_p->Pos_p_fx[1], ONE_IN_Q25 ), 1 ); // Q25 -#endif - move32(); - hrf_right[0] = L_sub( ONE_IN_Q25, hrf_left[0] ); // Q25 - move32(); -#endif hrf_left_e = 6; move16(); @@ -671,21 +611,12 @@ static void TDREND_SRC_SPATIAL_Init_fx( move16(); SrcSpatial_p->DistAtten.DistAttenModel = TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED; // Q0 move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION SrcSpatial_p->DistAtten.RefDist_fx = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 move32(); SrcSpatial_p->DistAtten.MaxDist_fx = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ move32(); SrcSpatial_p->DistAtten.RollOffFactor_fx = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 move16(); -#else - SrcSpatial_p->DistAtten.RefDist_fx = ONE_IN_Q30; // Q30 - move32(); - SrcSpatial_p->DistAtten.MaxDist_fx = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ - move32(); - SrcSpatial_p->DistAtten.RollOffFactor_fx = ONE_IN_Q30; // Q30 - move16(); -#endif return; } @@ -877,70 +808,34 @@ static Word16 TDREND_SRC_SPATIAL_GetDistGain_fx( { case TDREND_DIST_ATTEN_MODEL_INV_DIST: /* DistGain = powf( DistAtten_p->RefDist / Dist2, DistAtten_p->RollOffFactor ); */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 3) */ tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 3) */ /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 3) = Dist_s - Dist2_e + 3, RollOffFactor_fx exponent: 31 - 28 = 3 */ tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 3 ), DistAtten_p->RollOffFactor_fx, 3, &tmp_e ); /* Q(31 - tmp_e) */ -#else - tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 1) */ - tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 1) */ - /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 1) = Dist_s - Dist2_e + 1, RollOffFactor_fx exponent: 31 - 30 = 1 */ - tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 1 ), DistAtten_p->RollOffFactor_fx, 1, &tmp_e ); /* Q(31 - tmp_e) */ -#endif BREAK; case TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED: -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->RefDist_fx, 3 ); -#else - flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->RefDist_fx, 1 ); -#endif IF( flag < 0 ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Dist2_fx = DistAtten_p->RefDist_fx; // Q28 move32(); Dist2_e = 3; move16(); -#else - Dist2_fx = DistAtten_p->RefDist_fx; // Q30 - move32(); - Dist2_e = 1; - move16(); -#endif } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->MaxDist_fx, 6 /*Q25*/ ); -#else - flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->MaxDist_fx, 4 ); -#endif IF( flag > 0 ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Dist2_fx = DistAtten_p->MaxDist_fx; // Q25 move32(); Dist2_e = 6; move16(); -#else - Dist2_fx = DistAtten_p->MaxDist_fx; // Q27 - move32(); - Dist2_e = 4; - move16(); -#endif } /* DistGain = powf( DistAtten_p->RefDist / Dist2, DistAtten_p->RollOffFactor ); */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 3) */ tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 3) */ /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 3) = Dist_s - Dist2_e + 3, RollOffFactor_fx exponent: 31 - 28 = 3 */ tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 3 ), DistAtten_p->RollOffFactor_fx, 3, &tmp_e ); /* Q(31 - tmp_e) */ -#else - tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 1) */ - tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 1) */ - /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 1) = Dist_s - Dist2_e + 1, RollOffFactor_fx exponent: 31 - 30 = 1 */ - tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 1 ), DistAtten_p->RollOffFactor_fx, 1, &tmp_e ); /* Q(31 - tmp_e) */ -#endif BREAK; } diff --git a/lib_rend/ivas_objectRenderer_vec_fx.c b/lib_rend/ivas_objectRenderer_vec_fx.c index 995e6b787f679f6622b0ae61637435239d64fccf..e6c41d4eae6752c8dce0f3019aba43ddfcea03bf 100644 --- a/lib_rend/ivas_objectRenderer_vec_fx.c +++ b/lib_rend/ivas_objectRenderer_vec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -77,17 +49,12 @@ Word32 TDREND_SPATIAL_VecNorm_fx( { Word32 tmp; Word16 tmp_e; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 tmp_Vec[3]; /* Create 1-bit headroom */ Copy_Scale_sig32( Vec_p, tmp_Vec, 3, -1 ); tmp = L_add( L_add( Mpy_32_32( tmp_Vec[0], Vec_p[0] ), Mpy_32_32( tmp_Vec[1], Vec_p[1] ) ), Mpy_32_32( tmp_Vec[2], Vec_p[2] ) ); tmp_e = add( shl( in_exp, 1 ), 1 ); // 2 * in_exp + 1 -#else - tmp = L_add( L_add( Mpy_32_32( Vec_p[0], Vec_p[0] ), Mpy_32_32( Vec_p[1], Vec_p[1] ) ), Mpy_32_32( Vec_p[2], Vec_p[2] ) ); - tmp_e = shl( in_exp, 1 ); // 2 * in_exp -#endif tmp = Sqrt32( tmp, &tmp_e ); *out_exp = tmp_e; move16(); @@ -104,17 +71,12 @@ void TDREND_SPATIAL_VecNormalize_fx( Word32 scaler_fx; Word32 sqrd_sum; Word16 exp, shift; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 tmp_Vec[3]; /* Create 1-bit headroom */ Copy_Scale_sig32( Vec_p_fx, tmp_Vec, 3, -1 ); sqrd_sum = L_add( Mpy_32_32( tmp_Vec[0], Vec_p_fx[0] ), L_add( Mpy_32_32( tmp_Vec[1], Vec_p_fx[1] ), Mpy_32_32( tmp_Vec[2], Vec_p_fx[2] ) ) ); exp = add( shl( sub( 31, q ), 1 ), 1 ); -#else - sqrd_sum = L_add( Mpy_32_32( Vec_p_fx[0], Vec_p_fx[0] ), L_add( Mpy_32_32( Vec_p_fx[1], Vec_p_fx[1] ), Mpy_32_32( Vec_p_fx[2], Vec_p_fx[2] ) ) ); - exp = shl( sub( 31, q ), 1 ); -#endif scaler_fx = ISqrt32( sqrd_sum, &exp ); VecNorm_p_fx[0] = Mpy_32_32( scaler_fx, Vec_p_fx[0] ); // Q: ( q + ( 31 - exp ) ) - 31 diff --git a/lib_rend/ivas_omasa_ana_fx.c b/lib_rend/ivas_omasa_ana_fx.c index 02af0f7fdb41a0beae11f7b2f41b25d0452c8cb2..e598aa9f5a6e0b19d48523eadbf3cf3fd15ed625 100644 --- a/lib_rend/ivas_omasa_ana_fx.c +++ b/lib_rend/ivas_omasa_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_orient_trk_fx.c b/lib_rend/ivas_orient_trk_fx.c index 3c911bd0a051db1b4de24fa73a21577f0f04244c..ce93f5316767572d93ea2534eafcdf9f039402a7 100644 --- a/lib_rend/ivas_orient_trk_fx.c +++ b/lib_rend/ivas_orient_trk_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 ec279e1686178635bcf3aa33f8030d71abe10913..5c972e3b047282b2c87b55ee451d37892227b470 100644 --- a/lib_rend/ivas_output_init_fx.c +++ b/lib_rend/ivas_output_init_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_prot_rend_fx.h b/lib_rend/ivas_prot_rend_fx.h index 2650e6180c3b66d3ecb6a79a70236b0fd631ae3d..4f4e95f419740ed382478dee920d0fd493cc51a6 100644 --- a/lib_rend/ivas_prot_rend_fx.h +++ b/lib_rend/ivas_prot_rend_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_PROT_REND_H #define IVAS_PROT_REND_H @@ -357,12 +329,8 @@ void computeDirectionAngles_fx( ); void ivas_masa_init_stereotype_detection_fx( -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES MASA_STEREO_TYPE_DETECT *stereo_type_detect, Word32 ivas_total_brate_fx -#else - MASA_STEREO_TYPE_DETECT *stereo_type_detect -#endif ); void ivas_masa_stereotype_detection_fx( diff --git a/lib_rend/ivas_reflections_fx.c b/lib_rend/ivas_reflections_fx.c index d2230f728f08e555d0423eb60b3f10a2fad6d09a..b10ef715f83ab546a550e35d4ca93c4e05c159a3 100644 --- a/lib_rend/ivas_reflections_fx.c +++ b/lib_rend/ivas_reflections_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include @@ -39,9 +11,6 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_render_config_fx.c b/lib_rend/ivas_render_config_fx.c index efd7945013ced49190466e523466b9aa0187774f..a43e42b0e76ce9d2c35d4e244e4aaa52a8cb8176 100644 --- a/lib_rend/ivas_render_config_fx.c +++ b/lib_rend/ivas_render_config_fx.c @@ -1,43 +1,13 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "ivas_rom_rend.h" -#ifdef FIX_1452_DEFAULT_REVERB #include "ivas_cnst.h" -#endif #include "ivas_rom_TdBinauralRenderer.h" #include "wmc_auto.h" @@ -45,16 +15,6 @@ * Local constants *-----------------------------------------------------------------------*/ -#ifndef FIX_1452_DEFAULT_REVERB -#define IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX 2147484 // 0.016 -#define IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX 13421773 // 0.1 - -#define IVAS_REVERB_DEFAULT_S_PRE_DELAY_FX 1677722 // 0.0125f -#define IVAS_REVERB_DEFAULT_S_INPUT_DELAY_FX 0 // 0.0f - -#define IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX 1677722 // 0.0125f -#define IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX 0 // 0.0f -#endif #define IVAS_REVERB_DEFAULT_USE_ER 0 @@ -122,17 +82,10 @@ ivas_error ivas_render_config_init_from_rom_fx( move16(); ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); -#else - ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; - move32(); - ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_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 ); @@ -152,21 +105,12 @@ ivas_error ivas_render_config_init_from_rom_fx( ( *hRenderConfig )->directivity_fx[add( i_mult( i, 3 ), 2 )] = 32767 /*1.0f in Q15*/; /* Back attenuation */ move16(); } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION ( *hRenderConfig )->distAtt_fx[0] = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ /* Default max dist */ move32(); ( *hRenderConfig )->distAtt_fx[1] = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 /* Default ref dist */ move32(); ( *hRenderConfig )->distAtt_fx[2] = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 /* Default rolloff factor */ move32(); -#else - ( *hRenderConfig )->distAtt_fx[0] = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ /* Default max dist */ - move32(); - ( *hRenderConfig )->distAtt_fx[1] = ONE_IN_Q30; // Q30 /* Default ref dist */ - move32(); - ( *hRenderConfig )->distAtt_fx[2] = ONE_IN_Q30; // Q30 /* Default rolloff factor */ - move32(); -#endif ( *hRenderConfig )->split_rend_config.splitRendBitRate = ISAR_MAX_SPLIT_REND_BITRATE; move32(); ( *hRenderConfig )->split_rend_config.dof = 3; @@ -203,30 +147,19 @@ ivas_error ivas_render_config_change_defaults( IVAS_DefaultReverbSize defaultReverbSize /* i: Reverb default size */ ) { -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); -#endif SWITCH( defaultReverbSize ) { case DEFAULT_REVERB_SMALL: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_S_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX; move32(); -#else - hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_PRE_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; - move16(); -#endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); @@ -238,19 +171,10 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_MEDIUM: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_M_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_PRE_DELAY_FX; move32(); -#else - hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; - move16(); -#endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); @@ -262,19 +186,10 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_LARGE: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); -#else - hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; - move16(); -#endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); diff --git a/lib_rend/ivas_reverb_delay_line_fx.c b/lib_rend/ivas_reverb_delay_line_fx.c index d3a0f5bb257ba069ab317abfd3a7841b330e1bbf..96ddc4f6c88f5f6ef4b97f0522874c00d1ce9187 100644 --- a/lib_rend/ivas_reverb_delay_line_fx.c +++ b/lib_rend/ivas_reverb_delay_line_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "ivas_prot_rend_fx.h" #include "prot_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_fft_filter_fx.c b/lib_rend/ivas_reverb_fft_filter_fx.c index 6cf1278faf98a929274d99db63c80a4cf5fac3fb..486ec5c47ed149dfa40a9f46a55a4fb1f73ce0a2 100644 --- a/lib_rend/ivas_reverb_fft_filter_fx.c +++ b/lib_rend/ivas_reverb_fft_filter_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------------------------* * Static functions declarations diff --git a/lib_rend/ivas_reverb_filter_design_fx.c b/lib_rend/ivas_reverb_filter_design_fx.c index a6ffc84f87cef3f26091d80b7cb16a6ac21efa60..d4f703f8e5b5be9b3ca2e93792e359c5d73c9f82 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_reverb_fx.c b/lib_rend/ivas_reverb_fx.c index 50bd990adfb51eae43a55bc8965c37cc8d6d9de0..6ffcbcafd1aa9fe317cdc4f41bb284c87f0dcbf2 100644 --- a/lib_rend/ivas_reverb_fx.c +++ b/lib_rend/ivas_reverb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_rom_rend.h" #include #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /* The reverberator structure implemented here is described in detail in: @@ -237,9 +206,7 @@ ivas_error ivas_reverb_HRTF_statistics_open_fx( BREAK; } ( *hHrtfStatistics )->fromROM = TRUE; -#ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD ( *hHrtfStatistics )->fromROM = FALSE; // TODO: temporary hack until HRTF statistics ROM tables are converted from Word16 to Word32 -#endif return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_reverb_iir_filter_fx.c b/lib_rend/ivas_reverb_iir_filter_fx.c index e4ce77b6583d25d6c49e000dcb134ed2a4536e5e..bb87f117b4fb040028c0475c7f47813341d2d7e8 100644 --- a/lib_rend/ivas_reverb_iir_filter_fx.c +++ b/lib_rend/ivas_reverb_iir_filter_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define float_to_fix( n, factor ) ( round( n * ( 1 << factor ) ) ) diff --git a/lib_rend/ivas_reverb_utils_fx.c b/lib_rend/ivas_reverb_utils_fx.c index 1b8c9835db00cc95c82f45dfb016bfca1e5e1518..29af1dcd6876cdde73ffd3088b750e829f716f70 100644 --- a/lib_rend/ivas_reverb_utils_fx.c +++ b/lib_rend/ivas_reverb_utils_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_rom_TdBinauralRenderer.h b/lib_rend/ivas_rom_TdBinauralRenderer.h index 34ef98e66a57ce8b165dc28800e411cbf48b7e2a..d9c35f78030088c9f27ccff305b4dbd31adea8b4 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer.h +++ b/lib_rend/ivas_rom_TdBinauralRenderer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 1269e7caa62823095cc4761dffe320f25372599f..b4c9b71132c58d186b206f526cbbd3614e99d9c1 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer_fx.c +++ b/lib_rend/ivas_rom_TdBinauralRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* clang-format off */ @@ -39,18 +11,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 178a50b7ce0457a425a09a16061da83652569e3a..c38bc30b9778815cd5f261755d27dcb83e4ba2ce 100644 --- a/lib_rend/ivas_rom_binauralRenderer.h +++ b/lib_rend/ivas_rom_binauralRenderer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 37b472fc976803e9070de012b6ed6bfbc3acd798..f02d83940fcab04da1cfc2aeb5df96dfc5cccea5 100644 --- a/lib_rend/ivas_rom_binauralRenderer_fx.c +++ b/lib_rend/ivas_rom_binauralRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -42,14 +14,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; @@ -46963,9 +46927,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 a0f13e471db22bf61998bf0f477181ba79a7e228..8ebdd8f057b9a1583483421db5cce836c29900b2 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* 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 28ebb28e09f481b09e20f0387583144a751eefaf..e791634084cec563a1cc827e4b864a6625081b4b 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* clang-format off */ diff --git a/lib_rend/ivas_rom_rend.h b/lib_rend/ivas_rom_rend.h index 7a1cf897135fe1f2082df259e3369c33ddc2180d..a06d0e4bb15de6444ed1cf3166645662abda413b 100644 --- a/lib_rend/ivas_rom_rend.h +++ b/lib_rend/ivas_rom_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_REND_H #define IVAS_ROM_REND_H diff --git a/lib_rend/ivas_rom_rend_fx.c b/lib_rend/ivas_rom_rend_fx.c index cd57355f57ab1f40dc2a24be567ea71e9ecfe36d..dcd4f6355dfd9388cf88f13e1753924da9871274 100644 --- a/lib_rend/ivas_rom_rend_fx.c +++ b/lib_rend/ivas_rom_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include @@ -270,21 +242,12 @@ const Word32 ivas_reverb_default_small_RT60_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = const Word32 ivas_reverb_default_small_DSR_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = { -#ifdef FIX_1452_DEFAULT_REVERB 7492, 3154, 2033, 1848, 2280, 2721, 2988, 3693, 4165, 4276, 3797, 3273, 2676, 2205, 1756, 1386, 1142, 932, 832, 952, 1084, 1320, 1508, 1675, 1659, 1610, 1475, 1263, 1118, 981, 876, 769, 666, 612, 535, 467, 429, 379, 351, 321, 296, 273, 250, 226, 203, 180, 160, 149, 141, 133, 129, 123, 118, 115, 111, 110, 107, 106, 106, 105 -#else - 16773, 7628, 5046, 4620, 5666, 6853, 7771, 9876, 11530, 12337, - 11421, 10287, 8791, 7565, 6305, 5215, 4504, 3860, 3627, 4363, - 5246, 6739, 8151, 9611, 10088, 10416, 10154, 9187, 8628, 8012, - 7491, 6931, 6320, 6074, 5589, 5145, 4977, 4646, 4558, 4411, - 4331, 4253, 4147, 4018, 3821, 3629, 3428, 3361, 3361, 3361, - 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361 -#endif }; const Word32 ivas_reverb_default_medium_fc_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = @@ -313,7 +276,6 @@ const Word32 ivas_reverb_default_medium_RT60_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = { -#ifdef FIX_1452_DEFAULT_REVERB 5324, 5580, 5917, 6365, 6903, 7617, 8575, 9732, 11218, 13358, 15873, 14689, @@ -322,16 +284,6 @@ const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = 5367, 6294, 8399, 8798, 5894, 2958, 2403, 3968, 1999, 840, 433 -#else - 15978, 16341, 16813, 17430, - 18156, 19101, 20335, 21788, - 23603, 26145, 29050, 27037, - 24421, 20999, 16973, 12614, - 10726, 8506, 8047, 8659, - 10526, 12575, 17260, 19074, - 13653, 7464, 6609, 12688, - 7607, 3835, 2373 -#endif }; const Word32 ivas_reverb_default_large_fc_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q16*/ = diff --git a/lib_rend/ivas_rotation_fx.c b/lib_rend/ivas_rotation_fx.c index 47807658fa612dcf1bda31695ba636792e4b5080..7a1534e3ab0f2a3d46165e22d9b443a3cd442b8c 100644 --- a/lib_rend/ivas_rotation_fx.c +++ b/lib_rend/ivas_rotation_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -39,9 +11,6 @@ #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_rom_binaural_crend_head.h" @@ -1058,9 +1027,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++ ) diff --git a/lib_rend/ivas_sba_rendering_fx.c b/lib_rend/ivas_sba_rendering_fx.c index f4fab9d6e8d82702d65e64d9db2e97f475816cc1..0bdf3c7526e0f74b2e38a3bd5fcfd06c74c633f0 100644 --- a/lib_rend/ivas_sba_rendering_fx.c +++ b/lib_rend/ivas_sba_rendering_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_shoebox_fx.c b/lib_rend/ivas_shoebox_fx.c index 44b4c28af7b6a66fc065bf9548a0f6e70e0c2059..d6b5c1082954e675c40bb1a59d561a30ef4a8d23 100644 --- a/lib_rend/ivas_shoebox_fx.c +++ b/lib_rend/ivas_shoebox_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index d785ed933805def29d4d558f9362a54525205be8..8748ffeabb9f578e437a764b7671b4bed036a24c 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_STAT_REND_H #define IVAS_STAT_REND_H @@ -384,14 +356,12 @@ typedef struct Word32 min_sum_total_ratio_db_fx; /* Q21 */ Word32 subtract_target_ratio_db_fx; /* Q21 */ -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES Word32 inst_diff_bb_power_fx; /* Q(q_inst_diff_bb_power_fx) */ Word16 q_inst_diff_bb_power_fx; Word32 inst_total_bb_power_fx; /* Q(q_inst_total_bb_power_fx) */ Word16 q_inst_total_bb_power_fx; Word16 max_band_diff_ene; -#endif Word16 counter; Word16 interpolator; @@ -1186,15 +1156,9 @@ typedef struct ivas_hrtf_TDREND_HRFILT_FiltSet_struct typedef struct { TDREND_DistAttenModel_t DistAttenModel; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 RefDist_fx; /* Q28 */ Word32 MaxDist_fx; /* Q25 */ Word32 RollOffFactor_fx; /* Q28 */ -#else - Word32 RefDist_fx; /* Q30 */ - Word32 MaxDist_fx; /* Q27 */ - Word32 RollOffFactor_fx; /* Q30 */ -#endif } TDREND_DistAtten_t; @@ -1232,11 +1196,7 @@ typedef struct { Word16 Updated; TDREND_PosType_t PosType; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 Pos_p_fx[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; // Q q_Pos_p -#else - Word32 Pos_p_fx[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; // Q25 -#endif Word16 q_Pos_p; Word32 Front_p_fx[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; // Q30 Word16 DirAttenEnabled; @@ -1472,9 +1432,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; diff --git a/lib_rend/ivas_td_decorr_fx.c b/lib_rend/ivas_td_decorr_fx.c index d2ebd34d8086ef1b8d4c8f726115341f04d4a0f5..3058e2a4789831749179c4cca51f61b1f93f5463 100644 --- a/lib_rend/ivas_td_decorr_fx.c +++ b/lib_rend/ivas_td_decorr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "ivas_prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_td_ring_buffer_fx.c b/lib_rend/ivas_td_ring_buffer_fx.c index 98905d25e328f543dd958fd8ac51e98db3645df1..d6868bfa3ad0bb0b92b9a3f8cd972c1c6eef3d01 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_vbap_fx.c b/lib_rend/ivas_vbap_fx.c index 19b4b1f5631cdcfc39da35f29233850d9d695c67..deef33f2850e1b429546389eed355283f423c5d8 100644 --- a/lib_rend/ivas_vbap_fx.c +++ b/lib_rend/ivas_vbap_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index d16cff5060a7fa1717aea776a212ba0ba96a26f0..86b4d66fbb16730441321bce85a48a06b3874b7a 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_REND_H #define LIB_REND_H diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 1dd55712dca9f4911433ac16994ce4e6785750ce..6b8b7f7ec22bfeb2bafa44d03fdc91ce8bf331e9 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -47,12 +19,7 @@ #include "ivas_rom_com.h" #include "ivas_rom_rend.h" #include "wmc_auto.h" -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #include "rom_com.h" -#endif -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -228,9 +195,6 @@ struct IVAS_REND Word8 rendererConfigEnabled; RENDER_CONFIG_DATA *hRendererConfig; /* Renderer config pointer */ IVAS_DefaultReverbSize selectedRoomReverbSize; -#ifdef DEBUGGING - Word32 numClipping; /* Counter of clipped output samples */ -#endif Word16 num_subframes; hrtf_handles hHrtfs; @@ -622,7 +586,6 @@ static void audio_buffer_td_to_cldfb_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 */ @@ -666,7 +629,6 @@ static Word32 limitRendererOutput_fx( return numClipping; } -#endif /*-------------------------------------------------------------------* * validateOutputAudioConfig() @@ -2626,9 +2588,7 @@ static ivas_error updateMcPanGainsForMcOut( const AUDIO_CONFIG outConfig ) { ivas_error error; -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif /* "if" conditions below realize the following mapping: @@ -2657,7 +2617,6 @@ static ivas_error updateMcPanGainsForMcOut( { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) { inputMc->panGains_fx[0][0] = ONE_IN_Q31; @@ -2674,19 +2633,6 @@ static ivas_error updateMcPanGainsForMcOut( inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } -#else - IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) - { - inputMc->panGains_fx[0][0] = ONE_IN_Q31; - } - ELSE - { - inputMc->panGains_fx[0][0] = L_add( L_shr( inputMc->nonDiegeticPanGain_fx, 1 ), ONE_IN_Q30 /* 0.5f in Q31 */ ); /* Q31 */ - } - move32(); - inputMc->panGains_fx[0][1] = L_sub( ONE_IN_Q31, inputMc->panGains_fx[0][0] ); - move32(); -#endif error = IVAS_ERR_OK; move32(); } @@ -2878,14 +2824,11 @@ static ivas_error updateMcPanGainsForAmbiOut( static ivas_error updateMcPanGainsForBinauralOut( input_mc *inputMc ) { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif setZeroPanMatrix_fx( inputMc->panGains_fx ); IF( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) { inputMc->panGains_fx[0][0] = ONE_IN_Q31; @@ -2902,19 +2845,6 @@ static ivas_error updateMcPanGainsForBinauralOut( inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } -#else - IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) - { - inputMc->panGains_fx[0][0] = ONE_IN_Q31; - } - ELSE - { - inputMc->panGains_fx[0][0] = L_add( L_shr( inputMc->nonDiegeticPanGain_fx, 1 ), ONE_IN_Q30 /* 0.5f in Q31 */ ); /* Q31 */ - } - move32(); - inputMc->panGains_fx[0][1] = L_sub( ONE_IN_Q31, inputMc->panGains_fx[0][0] ); - move32(); -#endif } ELSE { @@ -5583,10 +5513,8 @@ ivas_error IVAS_REND_FeedRenderConfig( hRenderConfig->roomAcoustics.aeID = renderConfig.roomAcoustics.aeID; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hIvasRend->selectedRoomReverbSize = DEFAULT_REVERB_UNSET; move32(); -#endif hRenderConfig->roomAcoustics.nBands = renderConfig.roomAcoustics.nBands; move16(); hRenderConfig->roomAcoustics.acousticPreDelay_fx = renderConfig.roomAcoustics.acousticPreDelay_fx; @@ -6126,13 +6054,7 @@ ivas_error IVAS_REND_SetReverbRoomSize( BREAK; case IVAS_ROOM_SIZE_AUTO: default: -#ifdef FIX_1452_DEFAULT_REVERB assert( 0 && "Room size is not set" ); -#else - hIvasRend->selectedRoomReverbSize = DEFAULT_REVERB_UNSET; - move32(); - BREAK; /* will be setup in IVAS_REND_AddInput() */ -#endif } IF( hIvasRend->hRendererConfig != NULL ) @@ -6601,10 +6523,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 ); @@ -6998,9 +6916,7 @@ static ivas_error renderIsmToMc( Word8 position_changed; pan_vector_fx currentPanGains_fx; /* Q31 */ ivas_error error; -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif push_wmops( "renderIsmToMc" ); @@ -7020,7 +6936,6 @@ static ivas_error renderIsmToMc( { IF( ismInput->nonDiegeticPan ) { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( EQ_32( ismInput->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) { currentPanGains_fx[0] = ONE_IN_Q31; @@ -7038,10 +6953,6 @@ static ivas_error renderIsmToMc( currentPanGains_fx[0] = L_deposit_h( cos_table_129[64 - pan] ); currentPanGains_fx[1] = L_deposit_h( cos_table_129[pan] ); } -#else - currentPanGains_fx[0] = L_add( L_shr( ismInput->nonDiegeticPanGain_fx, 1 ), ONE_IN_Q30 ); /* Q31 */ - currentPanGains_fx[1] = L_sub( ONE_IN_Q31, currentPanGains_fx[0] ); /* Q31 */ -#endif ismInput->prev_pan_gains_fx[0] = currentPanGains_fx[0]; /* Q31 */ ismInput->prev_pan_gains_fx[1] = currentPanGains_fx[1]; /* Q31 */ move32(); @@ -9843,9 +9754,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 */ @@ -10075,12 +9984,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 */ @@ -10593,11 +10497,7 @@ static ivas_error ivas_masa_ext_rend_dirac_rend_init( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect, IVAS_512k ); /* Use 512k to get correct path */ -#else - ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect ); -#endif } ELSE { diff --git a/lib_util/aeid_file_reader.c b/lib_util/aeid_file_reader.c index 4433ced8de4b580336d1b76eaba2184f19935c0b..cef1c8b13488b331c898e6be051744b61aa98be0 100644 --- a/lib_util/aeid_file_reader.c +++ b/lib_util/aeid_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "aeid_file_reader.h" #include "ivas_error_utils.h" diff --git a/lib_util/aeid_file_reader.h b/lib_util/aeid_file_reader.h index 789b166f49e6536800a69df9aee14b3321a3aa8a..8ae3997871c0a9a05a205a5dd5868639c0afaf6c 100644 --- a/lib_util/aeid_file_reader.h +++ b/lib_util/aeid_file_reader.h @@ -1,35 +1,7 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #pragma once -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 diff --git a/lib_util/ambi_convert.c b/lib_util/ambi_convert.c index 08572b883c62d28098c28d13d54beff7006daab9..5f0c40a57a0b721986910b48f1ac96c6c6969eef 100644 --- a/lib_util/ambi_convert.c +++ b/lib_util/ambi_convert.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/ambi_convert.h b/lib_util/ambi_convert.h index eb8d094f8416cca6893582c0a7d2e74c194ffb54..9d0faecffb12af18912b53de04466b20c127201c 100644 --- a/lib_util/ambi_convert.h +++ b/lib_util/ambi_convert.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 f342c64c41474c94748e41fdf78dc7d8811d77cd..4fa2e2cc8883ae303a4fc2094e32ba5ed8bbdaac 100644 --- a/lib_util/audio_file_reader.c +++ b/lib_util/audio_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 376b649b8b6c36d47e0caa661cfe3e5496c69d1b..31ead4fe40912f012526076e219ab8e204209221 100644 --- a/lib_util/audio_file_reader.h +++ b/lib_util/audio_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 e008aa88699f8a6910b64fabb899349505ce1a62..8d2b465152a712590ada8c438d4f43b28afbcbd1 100644 --- a/lib_util/audio_file_writer.c +++ b/lib_util/audio_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 62c74f1a883d2d6b20e9f197e7e80b8878570896..e9f9da76cb5f706e6248a1858914ce04971b0908 100644 --- a/lib_util/audio_file_writer.h +++ b/lib_util/audio_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 2a452abb6a70ec1b4d4c74b3a6308014ea8c51f5..0c017b78c7f63e9d585aa83446c6efa90c2a0650 100644 --- a/lib_util/bitstream_reader.c +++ b/lib_util/bitstream_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "bitstream_reader.h" #include "g192.h" diff --git a/lib_util/bitstream_reader.h b/lib_util/bitstream_reader.h index 51159dd5b870d24b95ebf359a0e73f50be50fb76..cef7406445580fc1e1c560a3c428ba80aff7a8b3 100644 --- a/lib_util/bitstream_reader.h +++ b/lib_util/bitstream_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef BITSTREAM_READER_H #define BITSTREAM_READER_H diff --git a/lib_util/bitstream_writer.c b/lib_util/bitstream_writer.c index 13981bd0102637680a8ce589099000be602d309e..35cded73bec06c0e912216c95b42072de249139a 100644 --- a/lib_util/bitstream_writer.c +++ b/lib_util/bitstream_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "bitstream_writer.h" #include "g192.h" diff --git a/lib_util/bitstream_writer.h b/lib_util/bitstream_writer.h index 0d7d4747251067e35473effbc933327b632698bb..4048f944088c1e010b4e86840f93fb9a9afc6bf3 100644 --- a/lib_util/bitstream_writer.h +++ b/lib_util/bitstream_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef BITSTREAM_WRITER_H #define BITSTREAM_WRITER_H diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index 504228a7338761147bbba887c7c3b66e95f782b9..9906d08ef2cb931b5fbc48862935e3439c0195a0 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "cmdl_tools.h" #include diff --git a/lib_util/cmdl_tools.h b/lib_util/cmdl_tools.h index 605c06d07c937c85b94f755977fe325271c20107..821cf55e693acb985099935207310548bc081c14 100644 --- a/lib_util/cmdl_tools.h +++ b/lib_util/cmdl_tools.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef CMDL_TOOLS_H #define CMDL_TOOLS_H diff --git a/lib_util/cmdln_parser.c b/lib_util/cmdln_parser.c index 6df8cacde7c72bf8842d02bc39f45dbf18800237..8ec4063ef937984a06a8588969d2d5cf41aa364d 100644 --- a/lib_util/cmdln_parser.c +++ b/lib_util/cmdln_parser.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "cmdln_parser.h" #include "cmdl_tools.h" diff --git a/lib_util/cmdln_parser.h b/lib_util/cmdln_parser.h index 446831526a9e080a40ea864354b39523f98fd966..b6d783241a8af1ba087f46d3e5c8e4bc4a01b534 100644 --- a/lib_util/cmdln_parser.h +++ b/lib_util/cmdln_parser.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 fef44d646afb8367e90ee5e6f5953fc9614bb26d..ea06f27d93fb72bac4fa2d5ab6bb3449e85017cc 100644 --- a/lib_util/evs_rtp_payload.c +++ b/lib_util/evs_rtp_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h index 00f634574d49f84eff9428f7f88075512f2d9030..b37f77864be86db18daba40009d95499327c9ae1 100644 --- a/lib_util/evs_rtp_payload.h +++ b/lib_util/evs_rtp_payload.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/float_to_fix_ops.c b/lib_util/float_to_fix_ops.c index 5da59c51e75e3d9e93d32397229ba8061e0796fa..d8ccf8f4df29aa4054849df933a11ccbd3371d32 100644 --- a/lib_util/float_to_fix_ops.c +++ b/lib_util/float_to_fix_ops.c @@ -1,11 +1,12 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "common_api_types.h" #include "float_to_fix_ops.h" #include #include -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #include -#endif #define Q15 15 #define Q31 31 @@ -131,7 +132,6 @@ Word32 floatToFixed_32( } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 float_to_fix_find_q( const float val ) { @@ -149,4 +149,3 @@ Word16 float_to_fix_find_q( /* Subtract bias of 127 (from floating point format), add 1 and subtract result from 31 to get Q */ return (Word16) ( 31 - ( biased_exp - 127 + 1 ) ); } -#endif diff --git a/lib_util/float_to_fix_ops.h b/lib_util/float_to_fix_ops.h index 8559a872b1dc77c6b039ee43ea9e1477d50b3f26..08813ace8e33e63b272815e01fc5b9eabdf5e64a 100644 --- a/lib_util/float_to_fix_ops.h +++ b/lib_util/float_to_fix_ops.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "common_api_types.h" @@ -16,8 +19,6 @@ float fixedToFloat( const Word32 i, const Word16 Q ); float fix16_to_float( const Word16 number, const Word16 Q ); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 float_to_fix_find_q( const float val ); -#endif #endif /* FLOAT_TO_FIX_OPS_H */ diff --git a/lib_util/g192.c b/lib_util/g192.c index 3779b417fa99f40a5cfb5a536aaf9574f82b91e1..1df3f77942ebf373fd56a27bd79fdb9868481b1b 100644 --- a/lib_util/g192.c +++ b/lib_util/g192.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/g192.h b/lib_util/g192.h index 93ba57c8e6cb478e468c7e3c9ad3b35373abc675..b331340973466df51d04163e16219f30f954eaed 100644 --- a/lib_util/g192.h +++ b/lib_util/g192.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index d961a1e8f62cd5300230770af00ab05f6ca1a25e..622782e1d076d214f2196bcff826746a35ce14c0 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "hrtf_file_reader.h" #include diff --git a/lib_util/hrtf_file_reader.h b/lib_util/hrtf_file_reader.h index 21d65f059b92ebf09c8d7478eb1de2a2369309e9..0daf892089233952712c8cdb8548df0fcab55759 100644 --- a/lib_util/hrtf_file_reader.h +++ b/lib_util/hrtf_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 ce4b6fd3b2d1c27b8dfbc91bcc21e5bd2066d2cd..eab44e12524f6c79698d6187a25ebd45b3595b96 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ism_file_reader.h" #include "cmdl_tools.h" diff --git a/lib_util/ism_file_reader.h b/lib_util/ism_file_reader.h index 561eba40f4797202c731247d1c83a329fb520ae2..a1d1515ab827834f849ae3177b2a582f2e8de4c2 100644 --- a/lib_util/ism_file_reader.h +++ b/lib_util/ism_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 acbd7ec59352d39b82b60c2fdbd12762554233c6..017189301387c6ed2732a98e8ae4b6c64769a272 100644 --- a/lib_util/ism_file_writer.c +++ b/lib_util/ism_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ism_file_writer.h" #include diff --git a/lib_util/ism_file_writer.h b/lib_util/ism_file_writer.h index dbebe1bad134b7689367876e4af035686bc37bfd..142ddc59c6de21f4299d031a399232fa8d70cc27 100644 --- a/lib_util/ism_file_writer.h +++ b/lib_util/ism_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 0ba94528f2830f2c6db3742f6326b49c242d3b78..c51fd6567ed1f9c2c6bbb8d20960d979d22a56cc 100644 --- a/lib_util/ivas_bpool.c +++ b/lib_util/ivas_bpool.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include "ivas_bpool.h" diff --git a/lib_util/ivas_bpool.h b/lib_util/ivas_bpool.h index 06281b453614a1929371064d6c4264a5c904f984..0f829c9ab30ae95551d6f78daa2326baeff60e7c 100644 --- a/lib_util/ivas_bpool.h +++ b/lib_util/ivas_bpool.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_BPOOL_H #define IVAS_BPOOL_H diff --git a/lib_util/ivas_queue.c b/lib_util/ivas_queue.c index 7c8be93af9f73d4434f9f59676e282860cbd8c33..32781a1e70334d83e1cd068e8b61d7ff32c93482 100644 --- a/lib_util/ivas_queue.c +++ b/lib_util/ivas_queue.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "ivas_queue.h" diff --git a/lib_util/ivas_queue.h b/lib_util/ivas_queue.h index a1df80035ee90a53d0b4c5f1b4890693c948ee50..d7f0f012b4cd2526d72ba486d1e2ef025b408780 100644 --- a/lib_util/ivas_queue.h +++ b/lib_util/ivas_queue.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 038680c1bf443572ede1be446abed6dcbcb98cb2..9d89b5fa795790b57575a0f898fe4b156cb63989 100644 --- a/lib_util/ivas_rtp_api.h +++ b/lib_util/ivas_rtp_api.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_API_H #define IVAS_RTP_API_H @@ -82,11 +54,9 @@ /* IVAS Codec Types */ typedef enum { -#ifdef FIX_FMSW_DEC IVAS_RTP_UNDEF = -1, /* undefined = Codec Type not set yet */ -#endif - IVAS_RTP_EVS, /* EVS */ - IVAS_RTP_IVAS /* IVAS */ + IVAS_RTP_EVS, /* EVS */ + IVAS_RTP_IVAS /* IVAS */ } IVAS_RTP_CODEC; /* IVAS Bandwidth Requests */ diff --git a/lib_util/ivas_rtp_file.c b/lib_util/ivas_rtp_file.c index 4e0feaeeaf287b33bab328891127f8c1de621a26..d5a2d3972a958a905548ce18fc6e070ab2304727 100644 --- a/lib_util/ivas_rtp_file.c +++ b/lib_util/ivas_rtp_file.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -934,9 +906,7 @@ ivas_error IVAS_RTP_READER_Init( rtp->unpackCfg.maxFramesPerPacket = IVAS_MAX_FRAMES_PER_RTP_PACKET; rtp->rtpPacket.buffer = rtp->packet; rtp->rtpPacket.capacity = sizeof( rtp->packet ); -#ifdef FIX_FMSW_DEC rtp->codecId = IVAS_RTP_UNDEF; -#endif error = IVAS_RTP_UNPACK_Open( &rtp->hUnpack, &rtp->unpackCfg ); if ( error == IVAS_ERR_OK ) @@ -1124,7 +1094,6 @@ ivas_error IVAS_RTP_ReadNextFrame( } else { -#ifdef FIX_FMSW_DEC if ( rtp->codecId != IVAS_RTP_UNDEF && rtp->codecId != codecId ) { rtp->restartNeeded = true; @@ -1133,18 +1102,6 @@ ivas_error IVAS_RTP_ReadNextFrame( ( rtp->codecId == IVAS_RTP_EVS ) ? "EVS" : "IVAS", ( codecId == IVAS_RTP_EVS ) ? "EVS" : "IVAS" ); } -#else - - rtp->restartNeeded = ( rtp->codecId != codecId ) || - ( codecId == IVAS_RTP_EVS && ( rtp->isAMRWB_IOmode != isAMRWB_IOmode ) ); - - if ( rtp->restartNeeded ) - { - fprintf( stdout, "\nRTP packet codec changed %s -> %s\n", - ( rtp->codecId == IVAS_RTP_EVS ) ? ( rtp->isAMRWB_IOmode ? "AMRWB_IO" : "EVS" ) : "IVAS", - ( codecId == IVAS_RTP_EVS ) ? ( isAMRWB_IOmode ? "AMRWB_IO" : "EVS" ) : "IVAS" ); - } -#endif rtp->codecId = codecId; rtp->isAMRWB_IOmode = isAMRWB_IOmode; diff --git a/lib_util/ivas_rtp_file.h b/lib_util/ivas_rtp_file.h index 0c2b0808114ccf38240afca014eb8dba03ec7232..eec24cd9e23830fe189a70c04743f7f800db2cfd 100644 --- a/lib_util/ivas_rtp_file.h +++ b/lib_util/ivas_rtp_file.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_FILE_H #define IVAS_RTP_FILE_H diff --git a/lib_util/ivas_rtp_internal.h b/lib_util/ivas_rtp_internal.h index afa4c3c6010ecbe95c9641949cf9ec6b601df2b7..cc9dfba5007805378af3b1653638861c9fa820ca 100644 --- a/lib_util/ivas_rtp_internal.h +++ b/lib_util/ivas_rtp_internal.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_INTERNAL_H #define IVAS_RTP_INTERNAL_H diff --git a/lib_util/ivas_rtp_payload.c b/lib_util/ivas_rtp_payload.c index 57a2b0aab8f88475595adef4c04ac3bd9a2df279..3798db6f4cc1a145eb46e608d77856ff9adac2cf 100644 --- a/lib_util/ivas_rtp_payload.c +++ b/lib_util/ivas_rtp_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/ivas_rtp_pi_data.c b/lib_util/ivas_rtp_pi_data.c index b533d07c284194e88202dce64512ac06c86575af..004f0dc62e214d58cdb536d432f59453f8530050 100644 --- a/lib_util/ivas_rtp_pi_data.c +++ b/lib_util/ivas_rtp_pi_data.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_error_utils.h" #include "ivas_rtp_internal.h" diff --git a/lib_util/ivas_rtp_pi_data.h b/lib_util/ivas_rtp_pi_data.h index 4f156a9defe729157620134f738e1c7ec0649d3c..8c3e0a7a1428ba5d72ac5aa50df9ef3d35bd5334 100644 --- a/lib_util/ivas_rtp_pi_data.h +++ b/lib_util/ivas_rtp_pi_data.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_PI_DATA_H #define IVAS_RTP_PI_DATA_H diff --git a/lib_util/jbm_file_reader.c b/lib_util/jbm_file_reader.c index 556d8cd674dba3f13d9f19d4e7b8c14698c0f45b..f7d86bc5406c19c2edbdf404d48ff40c4a487608 100644 --- a/lib_util/jbm_file_reader.c +++ b/lib_util/jbm_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 f6ecee961bfb746ed0d8aa51b9349ec7ca653239..591e170a49c7f2ece3dbfb4ae056333d7900058d 100644 --- a/lib_util/jbm_file_reader.h +++ b/lib_util/jbm_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 da27b218cf434050d7d883c98ecac099155959e9..d55faf5ca5fe78d1565809d0e70693ead411e3fe 100644 --- a/lib_util/jbm_file_writer.c +++ b/lib_util/jbm_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "jbm_file_writer.h" #include diff --git a/lib_util/jbm_file_writer.h b/lib_util/jbm_file_writer.h index 7dd339ad31156f08a377c1c616f0627b00a3c386..4a931649b170aeafc85a9e8e916e908c57a464ad 100644 --- a/lib_util/jbm_file_writer.h +++ b/lib_util/jbm_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 e79eab7d357056983751af3200473dcb64050b9f..a89f5c24091d2faaad21e86d69a326236a081c91 100644 --- a/lib_util/ls_custom_file_reader.c +++ b/lib_util/ls_custom_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 d5ead2841fcacb0a7dfb6842ee4d6b14ad30d66e..4c50cdc473d687a79b106cdaedd43f154849e811 100644 --- a/lib_util/ls_custom_file_reader.h +++ b/lib_util/ls_custom_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 7a241e53165e792bafc23d881704969a7e6af02d..35a9f4af2bfa07e04209bfeee5aa8a0535fcf26e 100644 --- a/lib_util/masa_file_reader.c +++ b/lib_util/masa_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "masa_file_reader.h" #include diff --git a/lib_util/masa_file_reader.h b/lib_util/masa_file_reader.h index d430a9194b8e7a86fa9385007faa10657050112e..4f8c4a8d88791bcdcb91306d166f463dd2c8489d 100644 --- a/lib_util/masa_file_reader.h +++ b/lib_util/masa_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 9ba0e5e534ac9bbd7008204ccecdbc643bae4a2f..005a61048f035d3d189ae06ff1f3275b180b581a 100644 --- a/lib_util/masa_file_writer.c +++ b/lib_util/masa_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "masa_file_writer.h" #include "ivas_stat_dec.h" diff --git a/lib_util/masa_file_writer.h b/lib_util/masa_file_writer.h index c2d51d3945783d65ddc34102e17c5adff968d89b..9a76a0af47a8da35cffe7371e7a922dab2c9e402 100644 --- a/lib_util/masa_file_writer.h +++ b/lib_util/masa_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 de2654d1b5d4546aa1a48e76344cf1ce3cd4f761..69b8d7118e71559eb2dfd903ca3f3db2798d7f36 100644 --- a/lib_util/mime_io.c +++ b/lib_util/mime_io.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "mime_io.h" diff --git a/lib_util/mime_io.h b/lib_util/mime_io.h index d3b0d7a58b0e15bb7e241794be73adbdb8601b57..8973f1d44d912d70859432538cba0ee66a0d35bf 100644 --- a/lib_util/mime_io.h +++ b/lib_util/mime_io.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef MIME_IO_H #define MIME_IO_H diff --git a/lib_util/mutex.h b/lib_util/mutex.h index 64f5d2c58397152ef66437b7955410ac00679070..59b425b0f7c9f97cd92b2d8789c24c6bbdb6b886 100644 --- a/lib_util/mutex.h +++ b/lib_util/mutex.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== 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 22163d23dbc35a912cc0b51a2f6bb88074fa3bc8..eedd8fb42802f005559fb110f7c938cb9dc7aad1 100644 --- a/lib_util/obj_edit_file_reader.c +++ b/lib_util/obj_edit_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - -(C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/obj_edit_file_reader.h b/lib_util/obj_edit_file_reader.h index 352202ef56a7865bd2eba33c67f9ac76a83a00e3..22c3f45015950812fa1b9bd89b088a20697593a6 100644 --- a/lib_util/obj_edit_file_reader.h +++ b/lib_util/obj_edit_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - -(C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef OBJ_EDIT_FILE_READER_H #define OBJ_EDIT_FILE_READER_H diff --git a/lib_util/render_config_reader.c b/lib_util/render_config_reader.c index 0101924f5baf1ad105d1cd52d7f7e746bd3e8c23..4b8c30fa05f42c943af5dc8943172e7dbacf07d0 100644 --- a/lib_util/render_config_reader.c +++ b/lib_util/render_config_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "render_config_reader.h" #include @@ -81,7 +53,6 @@ #define IVAS_ER_LIST_ORIGIN_X_FX 0 #define IVAS_ER_LIST_ORIGIN_Y_FX 0 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #define DIST_ATT_MIN_MAXDIST 0.0f #define DIST_ATT_MIN_REFDIST 0.0f #define DIST_ATT_MIN_ROLLOFF 0.0f @@ -95,7 +66,6 @@ #define DIRECTIVITY_MAX_ANGLE 360.0f #define DIRECTIVITY_MIN_ATT_FAC 0.0f #define DIRECTIVITY_MAX_ATT_FAC 1.0f -#endif #ifndef min #define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) ) @@ -168,11 +138,7 @@ struct RenderConfigReader AcousticEnv *pAE; /* Acoustic environments */ uint32_t nDP; /* Number of directivity patterns */ DirectrivityPat *pDP; /* Directivity Pattern */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - float distAtt[3]; /* [MaxDist Q25, RefDist Q28, Rolloff Q28] */ -#else - float distAtt[3]; /* [MaxDist Q30, RefDist Q30, Rolloff Q30] */ -#endif + float distAtt[3]; /* [MaxDist Q25, RefDist Q28, Rolloff Q28] */ }; @@ -1284,7 +1250,6 @@ static int32_t errorHandler( * * Verifies if the configuration parameters lie within acceptable limits *------------------------------------------------------------------------------------------*/ -#ifdef FIX_2500_RENDCONF_REFACTOR ivas_error RenderConfigReader_checkValues( RenderConfigReader *pRenderConfigReader /* i/o: Renderer configuration reader */ ) @@ -1432,93 +1397,6 @@ ivas_error RenderConfigReader_checkValues( return IVAS_ERR_OK; } -#else -ivas_error RenderConfigReader_checkValues( - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -) -{ - int16_t band_idx, tab_value_err_count; - IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pRoom_acoustics; - pRoom_acoustics = &hRenderConfig->roomAcoustics; - tab_value_err_count = 0; - int16_t wall_idx; - - /* Verify the number of frequency bands in the config input data */ - if ( ( pRoom_acoustics->nBands > N_BANDS_MAX ) || ( pRoom_acoustics->nBands < N_BANDS_MIN ) ) - { - return IVAS_ERR_WRONG_PARAMS; - } - /* Verify data per band in the acoustic properties table */ - for ( band_idx = 0; band_idx < pRoom_acoustics->nBands; band_idx++ ) - { - /* Verify if the frequencies are in the ascending order (required for interpolation) */ - if ( band_idx != 0 ) - { - if ( pRoom_acoustics->pFc_input_fx[band_idx] <= pRoom_acoustics->pFc_input_fx[band_idx - 1] ) - { - tab_value_err_count++; - } - } - - /* Replace zero DSR values with very small positive values, to avoid issues with coloration filter design */ - if ( pRoom_acoustics->pAcoustic_dsr_fx[band_idx] == 0 ) - { - pRoom_acoustics->pAcoustic_dsr_fx[band_idx] = ACOUSTIC_DSR_EPSILON_FX; - } - } - - if ( tab_value_err_count != 0 ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - - if ( pRoom_acoustics->use_er == 1 ) - { - /* Room dimensions */ - if ( pRoom_acoustics->dimensions.x_fx < ER_MIN_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.x_fx = ER_MIN_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.x_fx > ER_MAX_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.x_fx = ER_MAX_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.y_fx < ER_MIN_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.y_fx = ER_MIN_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.y_fx > ER_MAX_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.y_fx = ER_MAX_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.z_fx < ER_MIN_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.z_fx = ER_MIN_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.z_fx > ER_MAX_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.z_fx = ER_MAX_ROOM_DIMENSION_FX; - } - - /* Abs Coeff */ - for ( wall_idx = 0; wall_idx < IVAS_ROOM_ABS_COEFF; wall_idx++ ) - { - if ( pRoom_acoustics->AbsCoeff_fx[wall_idx] < ER_MIN_ABS_COEFF_FX ) - { - pRoom_acoustics->AbsCoeff_fx[wall_idx] = ER_MIN_ABS_COEFF_FX; - } - if ( pRoom_acoustics->AbsCoeff_fx[wall_idx] > ER_MAX_ABS_COEFF_FX ) - { - pRoom_acoustics->AbsCoeff_fx[wall_idx] = ER_MAX_ABS_COEFF_FX; - } - } - } - - - return IVAS_ERR_OK; -} -#endif /*------------------------------------------------------------------------------------------* * RenderConfigReader_open() @@ -2504,9 +2382,7 @@ ivas_error RenderConfigReader_read( aeHasERsize = aeHasERabs = FALSE; params_idx = 0; pValue = (char *) calloc( strlen( pParams ), sizeof( char ) ); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; -#endif while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) { params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); @@ -2673,9 +2549,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 ) ) @@ -2789,12 +2662,6 @@ ivas_error RenderConfigReader_read( errorHandler( item, ERROR_VALUE_INVALID ); } } -#ifdef DEBUGGING - else - { - fprintf( stderr, "Unsupported configuration property %s\n", item ); - } -#endif } free( pValue ); } @@ -3122,31 +2989,11 @@ ivas_error RenderConfigReader_getAcousticEnvironment( { if ( id == pRenderConfigReader->pAE[n].id ) { -#ifdef FIX_1452_DEFAULT_REVERB pAcEnv->aeID = (UWord16) pRenderConfigReader->pAE[n].id; -#endif pAcEnv->nBands = (int16_t) pRenderConfigReader->pAE[n].pFG->nrBands; pAcEnv->inputPreDelay_fx = (Word32) ( pRenderConfigReader->pAE[n].preDelay * ONE_IN_Q27 ); -#ifndef FIX_2500_RENDCONF_REFACTOR - if ( pRenderConfigReader->pAE[n].preDelay > INPUTPREDELAY_MAX || - pRenderConfigReader->pAE[n].preDelay < INPUTPREDELAY_MIN ) - { - return IVAS_ERR_INVALID_RENDER_CONFIG; - } -#endif for ( m = 0; m < pAcEnv->nBands; m++ ) { -#ifndef FIX_2500_RENDCONF_REFACTOR - if ( pRenderConfigReader->pAE[n].pFG->pFc[m] > FC_INPUT_MAX || - pRenderConfigReader->pAE[n].pFG->pFc[m] < FC_INPUT_MIN || - pRenderConfigReader->pAE[n].pRT60[m] > ACOUSTIC_RT60_MAX || - pRenderConfigReader->pAE[n].pRT60[m] < ACOUSTIC_RT60_MIN || - pRenderConfigReader->pAE[n].pDSR[m] > ACOUSTIC_DSR_MAX || - pRenderConfigReader->pAE[n].pDSR[m] < ACOUSTIC_DSR_MIN ) - { - return IVAS_ERR_INVALID_RENDER_CONFIG; - } -#endif pAcEnv->pFc_input_fx[m] = (Word32) ( pRenderConfigReader->pAE[n].pFG->pFc[m] * ONE_IN_Q16 ); pAcEnv->pAcoustic_rt60_fx[m] = (Word32) ( pRenderConfigReader->pAE[n].pRT60[m] * ONE_IN_Q26 ); @@ -3282,15 +3129,6 @@ ivas_error RenderConfigReader_getDirectivity( /* Convert to Word16 */ FOR( n = 0; n < 4; n++ ) { -#ifndef FIX_2500_RENDCONF_REFACTOR -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - /* Verify range of directivity patterns */ - /* Range needs to be checked before converting to fixed point -- different from float */ - directivity[n * 3] = max( 0.0f, min( 360.0f, directivity[n * 3] ) ); - directivity[n * 3 + 1] = max( 0.0f, min( 360.0f, directivity[n * 3 + 1] ) ); - directivity[n * 3 + 2] = max( 0.0f, min( 1.0f, directivity[n * 3 + 2] ) ); -#endif -#endif directivity_fx[n * 3] = (Word16) ( directivity[n * 3] * ( 1u << 6 ) ); directivity_fx[n * 3 + 1] = (Word16) ( directivity[n * 3 + 1] * ( 1u << 6 ) ); @@ -3329,24 +3167,9 @@ ivas_error RenderConfigReader_getDistanceAttenuation( } /* Convert to Word32 */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION -#ifndef FIX_2500_RENDCONF_REFACTOR - /* Range needs to be checked before converting to fixed point -- different from float */ - /* Verify range of distance attenuation parameters: refDist: 0.0 <= distAtt[1] <= 6.3 */ - /* maxDist: distAtt[1] <= distAtt[0] <= 63.0 */ - /* rollOffFactor: 0 <= distAtt[2] <= 4.0 */ - distAtt[1] = min( max( 0, distAtt[1] ), DIST_ATT_MAX_REFDIST ); - distAtt[0] = min( max( distAtt[1], distAtt[0] ), DIST_ATT_MAX_MAXDIST ); - distAtt[2] = min( max( 0.0f, distAtt[2] ), DIST_ATT_MAX_ROLLOFF ); -#endif distAtt_fx[0] = (Word32) ( distAtt[0] * ( 1u << 25 ) ); distAtt_fx[1] = (Word32) ( distAtt[1] * ( 1u << 28 ) ); distAtt_fx[2] = (Word32) ( distAtt[2] * ( 1u << 28 ) ); -#else - distAtt_fx[0] = (Word32) ( distAtt[0] * ( 1u << 27 ) ); - distAtt_fx[1] = (Word32) ( distAtt[1] * ( 1u << 30 ) ); - distAtt_fx[2] = (Word32) ( distAtt[2] * ( 1u << 30 ) ); -#endif return IVAS_ERR_OK; } diff --git a/lib_util/render_config_reader.h b/lib_util/render_config_reader.h index 54180eabb0d8004e386b0ff955295e1ed5bff4dc..8e75dc34807e45e2ae6081d6ae288bfc86f27bbf 100644 --- a/lib_util/render_config_reader.h +++ b/lib_util/render_config_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef RENDER_CONFIG_READER_H #define RENDER_CONFIG_READER_H @@ -79,11 +51,7 @@ ivas_error RenderConfigReader_getDistanceAttenuation( ); /* Verifies configuration parameters */ ivas_error RenderConfigReader_checkValues( -#ifdef FIX_2500_RENDCONF_REFACTOR RenderConfigReader *pRenderConfigReader /* i/o: Renderer configuration reader */ -#else - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -#endif ); /* Reads a configuration */ diff --git a/lib_util/requests_file_reader.c b/lib_util/requests_file_reader.c index 894b07568f9f345333085e802c9a92850ef3ee04..b953abb91f10e9d34e6ac70f0b2d4fcbcc6e3beb 100644 --- a/lib_util/requests_file_reader.c +++ b/lib_util/requests_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "requests_file_reader.h" #include diff --git a/lib_util/requests_file_reader.h b/lib_util/requests_file_reader.h index 0918dd3447ec28f676e8713a0bc8486b5d176e83..daedbdf07343af1ddd8d9e941397684a594456b8 100644 --- a/lib_util/requests_file_reader.h +++ b/lib_util/requests_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_REQUESTS_FILE_READER_H #define IVAS_REQUESTS_FILE_READER_H diff --git a/lib_util/rotation_file_reader.c b/lib_util/rotation_file_reader.c index 1701f285bbcda3ffa152cdb643e7b9a62c14574d..43a4285495d59857c2c7eece0e3a560096aa8897 100644 --- a/lib_util/rotation_file_reader.c +++ b/lib_util/rotation_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "rotation_file_reader.h" #include @@ -42,7 +14,6 @@ #define Q29 29 #define Q31 31 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #ifndef min #define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) ) #endif @@ -50,7 +21,6 @@ #ifndef max #define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) #endif -#endif struct RotFileReader @@ -116,9 +86,7 @@ ivas_error HeadRotationFileReading( { float w, x, y, z; float posx, posy, posz; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION float maxAbsPos; -#endif int32_t read_values; posx = 0.0f; @@ -159,7 +127,6 @@ ivas_error HeadRotationFileReading( if ( pPos != NULL ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION posx = min( max( -IVAS_LISTENER_POSITION_MAX, posx ), IVAS_LISTENER_POSITION_MAX ); posy = min( max( -IVAS_LISTENER_POSITION_MAX, posy ), IVAS_LISTENER_POSITION_MAX ); posz = min( max( -IVAS_LISTENER_POSITION_MAX, posz ), IVAS_LISTENER_POSITION_MAX ); @@ -170,15 +137,6 @@ ivas_error HeadRotationFileReading( pPos->x_fx = floatToFixed_32( posx, pPos->q_fact ); pPos->y_fx = floatToFixed_32( posy, pPos->q_fact ); pPos->z_fx = floatToFixed_32( posz, pPos->q_fact ); -#else - pPos->x = posx; - pPos->y = posy; - pPos->z = posz; - pPos->x_fx = floatToFixed_32( posx, Q25 ); - pPos->y_fx = floatToFixed_32( posy, Q25 ); - pPos->z_fx = floatToFixed_32( posz, Q25 ); - pPos->q_fact = Q25; -#endif } return IVAS_ERR_OK; diff --git a/lib_util/rotation_file_reader.h b/lib_util/rotation_file_reader.h index 4cb9e5f6a7814289e92e6bdea2b9da2d98e2d8b8..62e18b9127cf350941a8f80eeff66c6a6d7bafd7 100644 --- a/lib_util/rotation_file_reader.h +++ b/lib_util/rotation_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 0a115ec4e76ab1e2039350cdb0b28a55314f844b..c539bbd98f6ae39494532ad61f97c0bf65f8c22a 100644 --- a/lib_util/rtpdump.c +++ b/lib_util/rtpdump.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/rtpdump.h b/lib_util/rtpdump.h index 95c716457baf967817600524cec041f7a166e0a7..54e1ed40a4d87976930c8b53224f048267ec1d5c 100644 --- a/lib_util/rtpdump.h +++ b/lib_util/rtpdump.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/split_rend_bfi_file_reader.c b/lib_util/split_rend_bfi_file_reader.c index ec9755019be9ea60b262d09150b1f0a70bded0db..20db55f7bb3084d9ffcf7d585585b1391ecb2550 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 57e6294f8f93202b3ca56b37fe840801d8e367e5..d902cb609592187b57f7d1dabdf7323803f54523 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 2fcc70dfb4b9edfd280f595d1d24f1ef251d0889..c74cf4d37311816cde27471399b7d608561f2fa9 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 bfb0a191c58fbd882b58ea30006ba152d97af473..3b59b7296d60caf3596ba7ad5b215d1000c034c8 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-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 eafac53d96fb97436b6802d743e4c5cecaffb699..ac91ae6b417f5b328e296a1ce04b9b4df2270195 100644 --- a/lib_util/tinywavein_c.h +++ b/lib_util/tinywavein_c.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef __TINYWAVEIN_C_H__ #define __TINYWAVEIN_C_H__ diff --git a/lib_util/tinywaveout_c.h b/lib_util/tinywaveout_c.h index c82113538ae6d9b378c374aa8789ebf6c04ecaad..cae7c293c36031779851476ee9c5ad8fcaec6be1 100644 --- a/lib_util/tinywaveout_c.h +++ b/lib_util/tinywaveout_c.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 d2225b7f5e7c8524254fa446cd094842cacba599..2bd7bbf060f60b0ec0fa1189eb9978192b2768dc 100644 --- a/lib_util/vector3_pair_file_reader.c +++ b/lib_util/vector3_pair_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #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 af4a6c99106098651008243cb530de84268c6411..eaf2697cadcd061473d866f18deaa784bc3848ad 100644 --- a/lib_util/vector3_pair_file_reader.h +++ b/lib_util/vector3_pair_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_V3PAIR_FILE_READER_H #define IVAS_V3PAIR_FILE_READER_H