Commit f3aaeb45 authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/main' into 520-remove-memmove-from-jbm-code

parents 62b34154 9bf9f6f2
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -150,7 +150,6 @@
    <ClCompile Include="..\lib_rend\ivas_lcld_rom_tables.c" />
    <ClCompile Include="..\lib_rend\ivas_sba_rendering.c" />
    <ClCompile Include="..\lib_rend\ivas_allrad_dec.c" />
    <ClCompile Include="..\lib_rend\ivas_cldfb_codec_bitstream.c" />
    <ClCompile Include="..\lib_rend\ivas_MSPred.c" />
    <ClCompile Include="..\lib_rend\ivas_NoiseGen.c" />
    <ClCompile Include="..\lib_rend\ivas_PerceptualModel.c" />
@@ -195,7 +194,6 @@
    <ClCompile Include="..\lib_rend\lib_rend.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\lib_rend\ivas_cldfb_codec_bitstream.h" />
    <ClInclude Include="..\lib_rend\ivas_lcld_prot.h" />
    <ClInclude Include="..\lib_rend\ivas_lcld_rom_tables.h" />
    <ClInclude Include="..\lib_rend\ivas_prot_rend.h" />
+0 −6
Original line number Diff line number Diff line
@@ -5,9 +5,6 @@
    <ClCompile Include="..\lib_rend\ivas_allrad_dec.c">
      <Filter>rend_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_rend\ivas_cldfb_codec_bitstream.c">
      <Filter>rend_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_rend\ivas_crend.c">
      <Filter>rend_c</Filter>
    </ClCompile>
@@ -206,9 +203,6 @@
    <ClInclude Include="..\lib_rend\ivas_lcld_rom_tables.h">
      <Filter>rend_h</Filter>
    </ClInclude>
    <ClInclude Include="..\lib_rend\ivas_cldfb_codec_bitstream.h">
      <Filter>rend_h</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <Filter Include="rend_h">
+10 −23
Original line number Diff line number Diff line
@@ -156,22 +156,16 @@ typedef struct
 *------------------------------------------------------------------------------------------*/

static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg );

static void usage_dec( void );

#ifdef SPLIT_REND_WITH_HEAD_ROT
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, uint8_t *splitRendBitsBuf, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#else
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#endif

static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );

#ifdef DEBUGGING
static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );

static int16_t app_own_random( int16_t *seed );

static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar );
#endif

@@ -187,6 +181,12 @@ int main(
{
    bool mainFailed = true; /* Assume main failed until cleanup is reached without errors */
    DecArguments arg;
    ivas_error error = IVAS_ERR_UNKNOWN;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    uint8_t splitRendBitsBuf[IVAS_MAX_SPLIT_REND_BITS_BUFFER_SIZE_IN_BYTES];
#endif

    /* Any handles that require cleanup must be declared here and initialized to NULL */
    IVAS_DEC_HANDLE hIvasDec = NULL;
    BS_READER_HANDLE hBsReader = NULL;
    LsCustomFileReader *hLsCustomReader = NULL;
@@ -195,16 +195,8 @@ int main(
    RotFileReader *externalOrientationFileReader = NULL;
    RotFileReader *refRotReader = NULL;
    Vector3PairFileReader *referenceVectorReader = NULL;
    ivas_error error = IVAS_ERR_UNKNOWN;
#ifdef FIX_847_OUTPUT_PCM_BUFFER
    int16_t *pcmBuf = NULL;
#else
    int16_t pcmBuf[MAX_OUTPUT_PCM_BUFFER_SIZE];
#endif
#ifdef SPLIT_REND_WITH_HEAD_ROT
    uint8_t splitRendBitsBuf[IVAS_MAX_SPLIT_REND_BITS_BUFFER_SIZE_IN_BYTES];
#endif
    RenderConfigReader *renderConfigReader = NULL;
    int16_t *pcmBuf = NULL;
#ifdef DEBUGGING
    int32_t noClipping;
    int32_t cnt_frames_limited;
@@ -747,7 +739,6 @@ int main(
        }
    }

#ifdef FIX_847_OUTPUT_PCM_BUFFER
    /*------------------------------------------------------------------------------------------*
     * Allocate output data buffer
     *------------------------------------------------------------------------------------------*/
@@ -761,8 +752,6 @@ int main(

    pcmBuf = malloc( pcmBufSize * sizeof( int16_t ) );

#endif

    /*-----------------------------------------------------------------*
     * Decoding
     *-----------------------------------------------------------------*/
@@ -816,9 +805,7 @@ int main(

cleanup:

#ifdef FIX_847_OUTPUT_PCM_BUFFER
    free( pcmBuf );
#endif

#ifdef DEBUG_SBA_AUDIO_DUMP
    IVAS_DEC_GetSbaDebugParams( hIvasDec, &numOutChannels, &numTransportChannels, &pca_ingest_channels );
@@ -1716,10 +1703,11 @@ static ivas_error initOnFirstGoodFrame(
    MasaFileWriter **ppMasaWriter,                   /* o  : */
    IsmFileWriter *ismWriters[IVAS_MAX_NUM_OBJECTS], /* o  : */
    int16_t *pNumOutChannels,                        /* o  : */
    uint16_t *pNumObj                                /* o  : */
#ifdef SPLIT_REND_WITH_HEAD_ROT
    ,
    uint16_t *pNumObj, /* o  : */
    SplitFileReadWrite **splitRendWriter
#else
    uint16_t *pNumObj             /* o  : */
#endif
)
{
@@ -2456,7 +2444,6 @@ static ivas_error decodeG192(
#ifdef WMOPS
        if ( vec_pos_update == 0 )
        {
            // update_mem(); TODO: verify this
            update_wmops();
            update_mem();
#ifdef MEM_COUNT_DETAILS
+2 −16
Original line number Diff line number Diff line
@@ -131,7 +131,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;
@@ -178,7 +177,7 @@ int main(
{
    bool mainFailed = true; /* Assume main failed until cleanup is reached without errors */
    EncArguments arg;
    int16_t i = 0;
    int16_t i;
    ivas_error error = IVAS_ERR_UNKNOWN;

    /* Any handles that require cleanup must be declared here and initialized to NULL */
@@ -189,11 +188,7 @@ int main(
    FILE *f_bwProfile = NULL;
    JbmFileReader *jbmReader = NULL;
    MasaFileReader *masaReader = NULL;
    IsmFileReader *ismReaders[IVAS_MAX_NUM_OBJECTS];
    for ( i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i )
    {
        ismReaders[i] = NULL;
    }
    IsmFileReader *ismReaders[IVAS_MAX_NUM_OBJECTS] = { NULL, NULL, NULL, NULL };
    int16_t *pcmBuf = NULL;
#ifdef DEBUGGING
    FILE *f_forcedModeProfile = NULL;
@@ -234,7 +229,6 @@ int main(
        goto cleanup;
    }


    /*------------------------------------------------------------------------------------------*
     * Open output bitstream file
     *------------------------------------------------------------------------------------------*/
@@ -492,7 +486,6 @@ int main(
            goto cleanup;
    }


    /* Validate number of channels */
    int16_t encInNumChannels = 0;
    if ( ( error = IVAS_ENC_GetNumInChannels( hIvasEnc, &encInNumChannels ) ) != IVAS_ERR_OK )
@@ -603,7 +596,6 @@ int main(
    int16_t numSamplesRead = 0;
    uint16_t bitStream[IVAS_MAX_BITS_PER_FRAME];
    uint16_t numBits = 0;

#ifdef DEBUG_SBA
#ifdef DEBUG_AGC
    ivas_open_agc_debug_files( (int16_t) arg.agc );
@@ -725,7 +717,6 @@ int main(
            }
        }
#endif

        /* Read ISM input metadata */
        for ( i = 0; i < numIsmInputs; ++i )
        {
@@ -803,7 +794,6 @@ int main(
#ifdef DEBUGGING
    print_snr();
#endif

    /*------------------------------------------------------------------------------------------*
     * Close files and deallocate resources
     *------------------------------------------------------------------------------------------*/
@@ -856,7 +846,6 @@ cleanup:
    print_wmops();
    print_mem( NULL );
#endif

#ifdef DEBUGGING
    dbgclose();

@@ -1606,7 +1595,6 @@ static bool parseCmdlIVAS_enc(
                usage_enc();
            }
        }

        else if ( strcmp( to_upper( argv[i] ), "-ISM_SBA" ) == 0 )
        {
            arg->inputFormat = IVAS_ENC_INPUT_SBA_ISM;
@@ -1695,7 +1683,6 @@ static bool parseCmdlIVAS_enc(
                }
            }
        }

        else if ( strcmp( argv_to_upper, "-STEREO_DMX_EVS" ) == 0 )
        {
            arg->inputFormat = IVAS_ENC_INPUT_MONO;
@@ -1932,7 +1919,6 @@ static void usage_enc( void )
    fprintf( stdout, "-mime               : Mime output bitstream file format\n" );
    fprintf( stdout, "                      The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format).\n" );
    fprintf( stdout, "                      default output bitstream file format is G.192\n" );

    fprintf( stdout, "-bypass mode        : SBA PCA by-pass, mode = (1, 2), 1 = PCA off, 2 = signal adaptive, default is 1\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" );
+18 −13
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@
#define RENDERER_MAX_METADATA_LINE_LENGTH 1024

#ifdef SPLIT_REND_WITH_HEAD_ROT
#define SPLIT_REND_BITS_BUFF_SIZE ( ( ( ( (int32_t) SPLIT_REND_MAX_BRATE / IVAS_NUM_FRAMES_PER_SEC ) + 7 ) >> 3 ) + SPLIT_REND_ADDITIONAL_BYTES_TO_READ )
#define SPLIT_REND_BITS_BUFF_SIZE ( ( ( ( (int32_t) IVAS_MAX_SPLIT_REND_BITRATE / IVAS_NUM_FRAMES_PER_SEC ) + 7 ) >> 3 ) + IVAS_SPLIT_REND_ADDITIONAL_BYTES_TO_READ )
#endif

#define IVAS_MAX16B_FLT 32767.0f
@@ -478,10 +478,11 @@ static int16_t getTotalNumInChannels(
    IVAS_REND_InputId mcIds[RENDERER_MAX_MC_INPUTS],
    IVAS_REND_InputId ismIds[RENDERER_MAX_ISM_INPUTS],
    IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS],
    IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS]
#ifdef SPLIT_REND_WITH_HEAD_ROT
    ,
    IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS],
    IVAS_REND_InputId splitBinIds[RENDERER_MAX_BIN_INPUTS]
#else
    IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS]
#endif
)
{
@@ -586,10 +587,11 @@ static void setupWithSingleFormatInput(
    CmdlnArgs args,
    char *audioFilePath,
    IsmPositionProvider *positionProvider,
    MasaFileReader **masaReaders
#ifdef SPLIT_REND_WITH_HEAD_ROT
    ,
    MasaFileReader **masaReaders,
    SplitFileReadWrite **hhSplitRendFileReadWrite
#else
    MasaFileReader **masaReaders
#endif
)
{
@@ -605,7 +607,7 @@ static void setupWithSingleFormatInput(
            exit( -1 );
        }

        for ( int32_t i = 0; i < args.numInMetadataFiles; ++i )
        for ( int16_t i = 0; i < args.numInMetadataFiles; ++i )
        {
            masaReaders[i] = MasaFileReader_open( args.inMetadataFilePaths[i] );
            if ( masaReaders[i] == NULL )
@@ -1847,11 +1849,11 @@ int main(

        if ( delayNumSamples == -1 )
        {
            if ( args.delayCompensationEnabled
#ifdef SPLIT_REND_WITH_HEAD_ROT
                 && !is_split_pre_rend_mode( &args )
            if ( args.delayCompensationEnabled && !is_split_pre_rend_mode( &args ) )
#else
            if ( args.delayCompensationEnabled )
#endif
            )
            {
                if ( IVAS_REND_GetDelay( hIvasRend, &delayNumSamples, &delayTimeScale ) != IVAS_ERR_OK )
                {
@@ -3290,6 +3292,7 @@ static void parseObjectPosition(
    int16_t read_values;
    float meta_prm[8] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f };


    readNextMetadataChunk( line, "," );
    *positionDuration = (uint16_t) strtol( line, &endptr, 10 );
    readNextMetadataChunk( line, "\n" );
@@ -3808,11 +3811,12 @@ static void convertInputBuffer(
    const int16_t numIntSamplesPerChannel,
    const int16_t numFloatSamplesPerChannel,
    const int16_t numChannels,
    float *floatBuffer
#ifdef SPLIT_REND_WITH_HEAD_ROT
    ,
    float *floatBuffer,
    const int16_t cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbAna
#else
    float *floatBuffer
#endif
)
{
@@ -3896,11 +3900,12 @@ static void convertOutputBuffer(
    const float *floatBuffer,
    const int16_t numSamplesPerChannel,
    const int16_t numChannels,
    int16_t *intBuffer
#ifdef SPLIT_REND_WITH_HEAD_ROT
    ,
    int16_t *intBuffer,
    const int16_t cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbSyn
#else
    int16_t *intBuffer
#endif
)
{
Loading