Commit 707ff045 authored by vaclav's avatar vaclav
Browse files

updates

parent 0005f661
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4667,7 +4667,7 @@ static ivas_error load_hrtf_from_file(
/*---------------------------------------------------------------------*
 * restartDecoder()
 *
 * Restart decoder in case of format switching
 * Restart decoder in case of IVAS format switching
 *---------------------------------------------------------------------*/

static ivas_error restartDecoder(
+4 −1
Original line number Diff line number Diff line
@@ -274,7 +274,10 @@ cleanup:
#ifdef IVAS_RTPDUMP
    IVAS_RTP_Term( &ivasRtp );
#endif
    if ( FmtSWFile )
    {
        fclose( FmtSWFile );
    }

    return mainFailed ? -1 : 0;
}
+3 −2
Original line number Diff line number Diff line
@@ -4661,7 +4661,7 @@ ivas_error IVAS_DEC_isRestartNeeded(
/*---------------------------------------------------------------------*
 * IVAS_DEC_VoIP_IsEmpty( )
 *
 *
 * Returns 'true' if decoder has no data in VoIP jitter buffer
 *---------------------------------------------------------------------*/

ivas_error IVAS_DEC_VoIP_IsEmpty(
@@ -6125,7 +6125,7 @@ static void setDiegeticInputPI(
ivas_error IVAS_DEC_FeedPiDataToDecoder(
    IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle                       */
    hPiDataTs piData,         /* i  : PI data received in rtp packet            */
    const uint32_t numPiData  /* i  : number of PI data received in rtp packet  */
    uint32_t numPiData        /* i  : number of PI data received in rtp packet  */
)
{
    uint32_t i;
@@ -6142,6 +6142,7 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder(
    for ( i = 0; i < numPiData; i++ )
    {
        uint32_t piDataType = piData->data.noPiData.piDataType;
        numPiData--; /* Subtraction of WHILE variable */

        switch ( piDataType )
        {
+2 −2
Original line number Diff line number Diff line
@@ -528,7 +528,7 @@ ivas_error IVAS_DEC_HasDecodedFirstGoodFrame(
    bool *hasDecodedFirstGoodFrame              /* o  : flag indicating if the decoder has decoded a good frame since it was configured */
);

/*! r: true if decoder has no data in VoIP jitter buffer */
/*! r: error code */
ivas_error IVAS_DEC_VoIP_IsEmpty(
    IVAS_DEC_HANDLE hIvasDec,                   /* i  : IVAS decoder handle                                                     */
    const int16_t nSamplesAsked,                /* i  : number of output samples asked                                          */
@@ -552,7 +552,7 @@ ivas_error IVAS_DEC_GetJbmData(
ivas_error IVAS_DEC_FeedPiDataToDecoder( 
    IVAS_DEC_HANDLE hIvasDec,                   /* i/o: IVAS decoder handle                                                     */
    hPiDataTs piData,                           /* i  : PI data received in rtp packet                                          */
    const uint32_t numPiData                    /* i  : number of PI data received in rtp packet                                */
    uint32_t numPiData                          /* i  : number of PI data received in rtp packet                                */
);
#endif

+31 −16
Original line number Diff line number Diff line
@@ -33,13 +33,13 @@

These files represent the 3GPP EVS Codec Extension for Immersive Voice and 
Audio Services (IVAS) floating-point C simulation. All code is writtten
in ISO/IEC C99. The system is implemented as five separate programs:
in ISO/IEC C99. The system is implemented as six separate programs:

        IVAS_cod   	    IVAS Encoder
        IVAS_dec   	    IVAS Decoder
        IVAS_rend  	    IVAS External Renderer
        ISAR_post_rend  ISAR Post Renderer
        ambi_converter  Ambisonics format converter
		IVAS_cod_fmtsw  IVAS Encoder with support for format switching
        ambi_converter  example program for Ambisonics format conversion

For encoding using the coder program, the input is a binary
audio file (*.8k, *.16k, *.32k, *.48k) and the output is a binary
@@ -123,6 +123,7 @@ should have the following structure:

.
`-- c-code
    |-- readme.txt
	|-- Makefile
    |-- Workspace_msvc
    |-- apps
@@ -134,21 +135,26 @@ should have the following structure:
    |-- lib_lc3plus
    |-- lib_rend    
    |-- lib_util
    |-- readme.txt
    |-- .clang-format

The package includes a Makefile for gcc, which has been verified on
32-bit Linux systems. The code can be compiled by entering the directory
"c-code" and typing the command: make. The resulting encoder/decoder/renderer/
ISAR_post_renderer executables are named "IVAS_cod", "IVAS_dec", "IVAS_rend",
and "ISAR_post_rend". All reside in the c-code directory.
and "ISAR_post_rend". All reside in the c-code directory. In addition, this 
directory will contain a version of the encoder with support for format switching 
(named "IVAS_cod_fmtsw") and an example program for Ambisonics format conversion 
(named "ambi_converter").

The package also includes a solution-file for Microsoft Visual Studio 2017 (x86). 
To compile the code, please open "Workspace_msvc\Workspace_msvc.sln" and build 
"encoder" for the encoder, "decoder" for the decoder, and "renderer" for the 
renderer executable. The resulting encoder/decoder/renderer/ISAR_post_renderer 
executables are "IVAS_cod.exe", "IVAS_dec.exe", "IVAS_rend.exe", and
"ISAR_post_rend.exe". All reside in the c-code main directory. 
"ISAR_post_rend.exe". All reside in the c-code main directory.  In addition, this 
directory will contain a version of the encoder with support for format switching 
(named "IVAS_cod_fmtsw.exe") and an example program for Ambisonics format conversion 
(named "ambi_converter.exe").



                       INTEGRATION AS LIBRARIES
@@ -175,7 +181,7 @@ some potential race conditions.
The usage of the "IVAS_cod" program is as follows:
--------------------------------------------------

Usage: IVAS_cod.exe [Options] R Fs input_file bitstream_file
Usage: IVAS_cod [Options] R Fs input_file bitstream_file

Mandatory parameters:
---------------------
@@ -261,9 +267,9 @@ EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba,
The usage of the "IVAS_dec" program is as follows:
--------------------------------------------------

Usage for EVS:   IVAS_dec.exe [Options] Fs bitstream_file output_file
Usage for EVS:   IVAS_dec [Options] Fs bitstream_file output_file
                 OR usage for IVAS (below) with -evs option and OutputConf
Usage for IVAS:  IVAS_dec.exe [Options] OutputConf Fs bitstream_file output_file
Usage for IVAS:  IVAS_dec [Options] OutputConf Fs bitstream_file output_file

Mandatory parameters:
---------------------
@@ -372,8 +378,8 @@ Options:
-q                  : Quiet mode, limit printouts to terminal, default is deactivated


The usage of the "ISAR_post_rend" program:
------------------------------------------
The usage of the "ISAR_post_rend" program as follows:
-----------------------------------------------------

Usage: ISAR_post_rend [options]

@@ -414,8 +420,8 @@ omitted, the LFE input is downmixed to all channels with a factor of 1/N. Positi
the LFE channel. Maximum number of supported loudskpeakers N is 16.
An example custom loudspeaker layout file is available: ls_setup_16ch_8+4+4.txt

The usage of the "ambi_converter" program 
------------------------------------------
The usage of the "ambi_converter" program as follows:
-----------------------------------------------------

Usage: ambi_converter input_file output_file input_convention output_convention

@@ -428,7 +434,16 @@ the following conventions are supported:
4 : SID-SN3D
5 : SID-N3D

Either the input or the output convention must always be ACN-SN3D!
Either the input or the output convention must always be ACN-SN3D.

The usage of the "IVAS_cod_fmtsw" program is as follows:
--------------------------------------------------------

Usage: IVAS_cod_fmtsw format_switching_file

Mandatory parameters:
---------------------
format_switching_file:   Text file containing a valid encoder command line in each line


                       RUNNING THE SELF TEST