Commit aa5ee9ca authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into knj/test-ci

parents 97b6b07e 7a5743a4
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -165,7 +165,6 @@
    <ClCompile Include="..\lib_com\gain_inov_fx.c" />
    <ClCompile Include="..\lib_com\get_gain_fx.c" />
    <ClCompile Include="..\lib_com\gs_bitallocation_fx.c" />
    <ClCompile Include="..\lib_com\gs_bitallocation_ivas_fx.c" />
    <ClCompile Include="..\lib_com\gs_gains_fx.c" />
    <ClCompile Include="..\lib_com\gs_inact_switching_fx.c" />
    <ClCompile Include="..\lib_com\gs_noisefill_fx.c" />
@@ -285,20 +284,11 @@
    <ClCompile Include="..\lib_com\wtda_fx.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\lib_com\basop32.h" />
    <ClInclude Include="..\lib_com\basop_proto_func.h" />
    <ClInclude Include="..\lib_com\basop_settings.h" />
    <ClInclude Include="..\lib_com\basop_util.h" />
    <ClInclude Include="..\lib_com\cnst.h" />
    <ClInclude Include="..\lib_com\common_api_types.h" />
    <ClInclude Include="..\lib_com\complex_basop.h" />
    <ClInclude Include="..\lib_com\control.h" />
    <ClInclude Include="..\lib_com\count.h" />
    <ClInclude Include="..\lib_com\enh1632.h" />
    <ClInclude Include="..\lib_com\enh32.h" />
    <ClInclude Include="..\lib_com\enh40.h" />
    <ClInclude Include="..\lib_com\enh64.h" />
    <ClInclude Include="..\lib_com\enhUL32.h" />
    <ClInclude Include="..\lib_com\ivas_cnst.h" />
    <ClInclude Include="..\lib_com\ivas_error.h" />
    <ClInclude Include="..\lib_com\ivas_error_utils.h" />
@@ -317,9 +307,6 @@
    <ClInclude Include="..\lib_com\rom_basop_util.h" />
    <ClInclude Include="..\lib_com\rom_com.h" />
    <ClInclude Include="..\lib_com\stat_com.h" />
    <ClInclude Include="..\lib_com\stl.h" />
    <ClInclude Include="..\lib_com\typedef.h" />
    <ClInclude Include="..\lib_com\typedefs.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
+3 −42
Original line number Diff line number Diff line
@@ -265,12 +265,6 @@
    <ClCompile Include="..\lib_com\get_gain_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_bitallocation_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_bitallocation_ivas_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_gains_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
@@ -481,6 +475,9 @@
    <ClCompile Include="..\lib_com\rom_com_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_bitallocation_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\lib_com\ivas_error.h">
@@ -501,9 +498,6 @@
    <ClInclude Include="..\lib_com\ivas_rom_com.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\basop32.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\basop_settings.h">
      <Filter>common_h</Filter>
    </ClInclude>
@@ -513,33 +507,9 @@
    <ClInclude Include="..\lib_com\cnst.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\complex_basop.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\control.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\count.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\basop_util.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\enh40.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\enh32.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\enh64.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\enh1632.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\enhUL32.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\rom_basic_math.h">
      <Filter>common_h</Filter>
    </ClInclude>
@@ -552,9 +522,6 @@
    <ClInclude Include="..\lib_com\stat_com.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\stl.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\move.h">
      <Filter>common_h</Filter>
    </ClInclude>
@@ -570,12 +537,6 @@
    <ClInclude Include="..\lib_com\oper_32b.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\typedef.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\typedefs.h">
      <Filter>common_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_com\log2.h">
      <Filter>common_h</Filter>
    </ClInclude>
+0 −1
Original line number Diff line number Diff line
@@ -242,7 +242,6 @@
    <ClCompile Include="..\lib_enc\ivas_stereo_dft_td_itd_fx.c" />
    <ClCompile Include="..\lib_enc\ivas_stereo_dmx_evs_fx.c" />
    <ClCompile Include="..\lib_enc\cod4t64_fast_fx.c" />
    <ClCompile Include="..\lib_enc\igf_scf_enc.c" />
    <ClCompile Include="..\lib_enc\ivas_mcmasa_enc_fx.c" />
    <ClCompile Include="..\lib_enc\ivas_core_enc_fx.c" />
    <ClCompile Include="..\lib_enc\ivas_cpe_enc_fx.c" />
+0 −3
Original line number Diff line number Diff line
@@ -253,9 +253,6 @@
    <ClCompile Include="..\lib_enc\igf_enc_fx.c">
      <Filter>encoder_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\igf_scf_enc.c">
      <Filter>encoder_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\igf_scf_enc_fx.c">
      <Filter>encoder_all_c</Filter>
    </ClCompile>
+71 −52
Original line number Diff line number Diff line
@@ -1616,6 +1616,38 @@ static void usage_dec( void )
}


/*---------------------------------------------------------------------*
 * resetHeadRotation()
 *
 *
 *---------------------------------------------------------------------*/

static void resetHeadRotation(
    const int16_t num_subframes,  /* i  : number of subframes   */
    IVAS_QUATERNION *pQuaternion, /* o  : head-tracking data    */
    IVAS_VECTOR3 *pPos            /* o  : listener position     */

)
{
    int16_t i;

    for ( i = 0; i < num_subframes; i++ )
    {
        pQuaternion[i].w_fx = -12582912;
        pQuaternion[i].x_fx = 0;
        pQuaternion[i].y_fx = 0;
        pQuaternion[i].z_fx = 0;
        pQuaternion[i].q_fact = 22;
        pPos[i].x_fx = 0;
        pPos[i].y_fx = 0;
        pPos[i].z_fx = 0;
        pPos[i].q_fact = 25;
    }

    return;
}


/*---------------------------------------------------------------------*
 * initOnFirstGoodFrame()
 *
@@ -1713,9 +1745,13 @@ static ivas_error initOnFirstGoodFrame(
        if ( arg.rtpOutSR && srRtp != NULL )
        {
            FILE *fParamsSR = NULL;
            char srParamsFile[FILENAME_MAX], *ext = ".sr.txt";
            strncpy( srParamsFile, arg.outputWavFilename, FILENAME_MAX - sizeof( ext ) );
            strncat( srParamsFile, ext, sizeof( ext ) + 1 );
            char srParamsFile[FILENAME_MAX];
            const char *ext = ".sr.txt";

            strncpy( srParamsFile, arg.outputWavFilename, FILENAME_MAX - strlen( ext ) - 1 );
            srParamsFile[FILENAME_MAX - strlen( ext ) - 1] = '\0';
            strncat( srParamsFile, ext, strlen( ext ) );
            srParamsFile[FILENAME_MAX - 1] = '\0';

            /* Write the Split Rendering Params passed from SDP to srParamsFile */
            fParamsSR = fopen( srParamsFile, "w" );
@@ -2089,7 +2125,6 @@ static ivas_error decodeG192(

    while ( 1 )
    {
        /* Read next frame if not enough samples availble */
        /* reference vector */
        if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 )
        {
@@ -2136,18 +2171,7 @@ static ivas_error decodeG192(
        {
            if ( headRotReader == NULL )
            {
                for ( i = 0; i < (int16_t) num_subframes; i++ )
                {
                    Quaternions[i].w_fx = -12582912;
                    Quaternions[i].x_fx = 0;
                    Quaternions[i].y_fx = 0;
                    Quaternions[i].z_fx = 0;
                    Quaternions[i].q_fact = 22;
                    Pos[i].x_fx = 0;
                    Pos[i].y_fx = 0;
                    Pos[i].z_fx = 0;
                    Pos[i].q_fact = 25;
                }
                resetHeadRotation( num_subframes, Quaternions, Pos );
            }
            else
            {
@@ -2323,9 +2347,6 @@ static ivas_error decodeG192(
                    fprintf( stderr, "\nError in IVAS_DEC_GetSplitBinauralBitstream: %s\n", IVAS_DEC_GetErrorMessage( error ) );
                    goto cleanup;
                }

                nSamplesRendered += nSamplesRendered_loop;
                nSamplesToRender -= nSamplesRendered_loop;
            }
            else
            {
@@ -2334,12 +2355,13 @@ static ivas_error decodeG192(
                    fprintf( stderr, "\nError in IVAS_DEC_GetSamplesRenderer(): %s\n", IVAS_DEC_GetErrorMessage( error ) );
                    goto cleanup;
                }
            }

            nSamplesRendered += nSamplesRendered_loop;
            nSamplesToRender -= nSamplesRendered_loop;
            }

            if ( needNewFrame )
            {

                frame++;
                if ( !arg.quietModeEnabled )
                {
@@ -2348,7 +2370,6 @@ static ivas_error decodeG192(
            }
        } while ( nSamplesRendered < nOutSamples && error == IVAS_ERR_OK );


        if ( error == IVAS_ERR_END_OF_FILE )
        {
            break;
@@ -2408,7 +2429,7 @@ static ivas_error decodeG192(
            }
        }

        /* Write ISm metadata to external file(s) */
        /* Write ISM metadata to external file(s) */
        if ( decodedGoodFrame && arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL )
        {
            if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM || bsFormat == IVAS_DEC_BS_SBA_ISM )
@@ -2448,6 +2469,7 @@ static ivas_error decodeG192(
                {
                    fprintf( stderr, "\nUnable to get delay of decoder: %s\n", ivas_error_to_string( error ) );
                }

                if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -2482,8 +2504,6 @@ static ivas_error decodeG192(
    {
        int16_t nSamplesFlushed;

        /* Feed into decoder */

        /* reference vector */
        if ( arg.enableReferenceVectorTracking )
        {
@@ -2549,7 +2569,7 @@ static ivas_error decodeG192(
            }
        }

        /* decode and get samples */
        /* flush remaining audio */
        if ( ( error = IVAS_DEC_Flush( hIvasDec, nOutSamples, pcmBuf, &nSamplesFlushed ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nError in IVAS_DEC_VoIP_Flush: %s\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -2563,7 +2583,7 @@ static ivas_error decodeG192(
            goto cleanup;
        }

        /* Write ISm metadata to external file(s) */
        /* Write ISM metadata to external file(s) */
        if ( decodedGoodFrame && arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL )
        {
            if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM || bsFormat == IVAS_DEC_BS_SBA_ISM )
@@ -2602,6 +2622,7 @@ static ivas_error decodeG192(
                {
                    fprintf( stderr, "\nUnable to get delay of decoder: %s\n", ivas_error_to_string( error ) );
                }

                if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -2704,14 +2725,22 @@ cleanup:
    return error;
}


#ifdef SUPPORT_JBM_TRACEFILE
static ivas_error writeJbmTraceFileFrameWrapper( const void *data, void *writer )

/*---------------------------------------------------------------------*
 * writeJbmTraceFileFrameWrapper()
 *
 *
 *---------------------------------------------------------------------*/

static ivas_error writeJbmTraceFileFrameWrapper(
    const void *data,
    void *writer )
{
    return JbmTraceFileWriter_writeFrame( data, writer );
}
#endif

#endif

/*---------------------------------------------------------------------*
 * decodeVoIP()
@@ -2809,11 +2838,13 @@ static ivas_error decodeVoIP(
        fprintf( stderr, "\nError getting render frame size in samples\n" );
        return error;
    }

    if ( ( error = IVAS_DEC_GetRenderFramesizeSamples( hIvasDec, &nOutSamples ) ) != IVAS_ERR_OK )
    {
        fprintf( stderr, "\nError getting render frame size in samples\n" );
        return error;
    }

    if ( ( error = IVAS_DEC_GetReferencesUpdateFrequency( hIvasDec, &vec_pos_len ) ) != IVAS_ERR_OK )
    {
        fprintf( stderr, "\nError getting render frame size in samples\n" );
@@ -2931,6 +2962,8 @@ static ivas_error decodeVoIP(

            *phIvasDec = hIvasDec; /* Update for main()' s free */
            ivasRtp.restartNeeded = false;
            bitstreamReadDone = false;
            parametersAvailableForEditing = false;
        }

        /* reference vector */
@@ -2979,18 +3012,7 @@ static ivas_error decodeVoIP(
        {
            if ( headRotReader == NULL )
            {
                for ( i = 0; i < (int16_t) num_subframes; i++ )
                {
                    Quaternions[i].w_fx = -12582912;
                    Quaternions[i].x_fx = 0;
                    Quaternions[i].y_fx = 0;
                    Quaternions[i].z_fx = 0;
                    Quaternions[i].q_fact = 22;
                    Pos[i].x = 0.0f;
                    Pos[i].y = 0.0f;
                    Pos[i].z = 0.0f;
                    Pos[i].q_fact = 25;
                }
                resetHeadRotation( num_subframes, Quaternions, Pos );
            }
            else
            {
@@ -3026,8 +3048,7 @@ static ivas_error decodeVoIP(

                if ( ( error = ExternalOrientationFileReading( externalOrientationFileReader, &Quaternions[i], &enableHeadRotation[i], &enableExternalOrientation[i], &enableRotationInterpolation[i], &numFramesToTargetOrientation[i] ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "\nError %s while reading external orientation from %s\n", IVAS_DEC_GetErrorMessage( error ),
                             RotationFileReader_getFilePath( externalOrientationFileReader ) );
                    fprintf( stderr, "\nError %s while reading external orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), RotationFileReader_getFilePath( externalOrientationFileReader ) );
                    goto cleanup;
                }
            }
@@ -3192,6 +3213,8 @@ static ivas_error decodeVoIP(
                    }

                    *phIvasDec = hIvasDec; /* Update for main()' s free */
                    bitstreamReadDone = false;
                    parametersAvailableForEditing = false;
                }

                /* Placeholder for memory reallocation */
@@ -3343,6 +3366,7 @@ static ivas_error decodeVoIP(
                    {
                        fprintf( stderr, "\nUnable to get delay of decoder: %s\n", ivas_error_to_string( error ) );
                    }

                    if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK )
                    {
                        fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -3414,7 +3438,7 @@ static ivas_error decodeVoIP(
            goto cleanup;
        }

        /* Write ISm metadata to external file(s) */
        /* Write ISM metadata to external file(s) */
        if ( decodedGoodFrame && arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL )
        {
            if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM || bsFormat == IVAS_DEC_BS_SBA_ISM )
@@ -3454,6 +3478,7 @@ static ivas_error decodeVoIP(
                {
                    fprintf( stderr, "\nUnable to get delay of decoder: %s\n", ivas_error_to_string( error ) );
                }

                if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -3953,12 +3978,6 @@ static ivas_error restartDecoder(
        }
    }

    if ( ( error = IVAS_DEC_PrintConfig( hIvasDec, 1, arg->voipMode ) ) != IVAS_ERR_OK )
    {
        fprintf( stderr, "\nIVAS_DEC_PrintConfig failed: %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 )
Loading