Loading lib_util/render_config_reader.c +37 −7 Original line number Diff line number Diff line Loading @@ -1207,11 +1207,11 @@ static int32_t errorHandler( break; case ERROR_ITEM_UNKNOWN: numErrors++; fprintf( stderr, "Unknown variable %s in renderer configuration file.\n\n", badStr ); fprintf( stderr, "Unexpected variable %s in renderer configuration file.\n\n", badStr ); break; case ERROR_VALUE_INVALID: numErrors++; fprintf( stderr, "Invalid value %s in renderer configuration file.\n\n", badStr ); fprintf( stderr, "Unexpected value %s in renderer configuration file.\n\n", badStr ); break; default: numErrors++; Loading Loading @@ -1853,6 +1853,7 @@ ivas_error RenderConfigReader_read( int32_t params_length; int32_t length; uint32_t i, idx; uint32_t nFG, nAE; char *pToken; FREQ_GRID_MODE fgMode; float freqHop; Loading Loading @@ -1942,26 +1943,55 @@ ivas_error RenderConfigReader_read( if ( strcmp( item, "FREQUENCYGRIDCOUNT" ) == 0 ) { /* Read the number of frequency grids */ if ( !sscanf( pValue, "%u", &pRenderConfigReader->nFG ) ) if ( !sscanf( pValue, "%u", &nFG ) ) { errorHandler( item, ERROR_VALUE_INVALID ); return IVAS_ERR_INVALID_RENDER_CONFIG; } if ( nFG > 0 ) { for ( idx = 0; idx < pRenderConfigReader->nFG; idx++ ) { free( pRenderConfigReader->pFG[idx].pFc ); } free( pRenderConfigReader->pFG ); /* Allocate memory for the frequency grids */ if ( ( pRenderConfigReader->pFG = (FrequencyGrid *) malloc( pRenderConfigReader->nFG * sizeof( FrequencyGrid ) ) ) == NULL ) { return IVAS_ERR_FAILED_ALLOC; } for ( idx = 0; idx < nFG; idx++ ) { pRenderConfigReader->pFG[idx].nrBands = 0; pRenderConfigReader->pFG[idx].pFc = NULL; } pRenderConfigReader->nFG = nFG; } roomAcHasFgCount = TRUE; } else if ( strcmp( item, "ACOUSTICENVIRONMENTCOUNT" ) == 0 ) { /* Read the number of acoustic environments */ if ( !sscanf( pValue, "%u", &pRenderConfigReader->nAE ) ) if ( !sscanf( pValue, "%u", &nAE ) ) { errorHandler( item, ERROR_VALUE_INVALID ); return IVAS_ERR_INVALID_RENDER_CONFIG; } if ( nAE > 0 ) { for ( idx = 0; idx < pRenderConfigReader->nAE; idx++ ) { free( pRenderConfigReader->pAE[idx].pRT60 ); free( pRenderConfigReader->pAE[idx].pDSR ); #ifdef CONTROL_METADATA_EARLY_REFLECTIONS if ( pRenderConfigReader->pAE[idx].pEarlyReflections != NULL ) { free( pRenderConfigReader->pAE[idx].pEarlyReflections->pListenerOrigin ); free( pRenderConfigReader->pAE[idx].pEarlyReflections ); } #endif } } /* Allocate memory for the acoustic environments array */ if ( ( pRenderConfigReader->pAE = (AcousticEnv *) malloc( pRenderConfigReader->nAE * sizeof( AcousticEnv ) ) ) == NULL ) { Loading Loading
lib_util/render_config_reader.c +37 −7 Original line number Diff line number Diff line Loading @@ -1207,11 +1207,11 @@ static int32_t errorHandler( break; case ERROR_ITEM_UNKNOWN: numErrors++; fprintf( stderr, "Unknown variable %s in renderer configuration file.\n\n", badStr ); fprintf( stderr, "Unexpected variable %s in renderer configuration file.\n\n", badStr ); break; case ERROR_VALUE_INVALID: numErrors++; fprintf( stderr, "Invalid value %s in renderer configuration file.\n\n", badStr ); fprintf( stderr, "Unexpected value %s in renderer configuration file.\n\n", badStr ); break; default: numErrors++; Loading Loading @@ -1853,6 +1853,7 @@ ivas_error RenderConfigReader_read( int32_t params_length; int32_t length; uint32_t i, idx; uint32_t nFG, nAE; char *pToken; FREQ_GRID_MODE fgMode; float freqHop; Loading Loading @@ -1942,26 +1943,55 @@ ivas_error RenderConfigReader_read( if ( strcmp( item, "FREQUENCYGRIDCOUNT" ) == 0 ) { /* Read the number of frequency grids */ if ( !sscanf( pValue, "%u", &pRenderConfigReader->nFG ) ) if ( !sscanf( pValue, "%u", &nFG ) ) { errorHandler( item, ERROR_VALUE_INVALID ); return IVAS_ERR_INVALID_RENDER_CONFIG; } if ( nFG > 0 ) { for ( idx = 0; idx < pRenderConfigReader->nFG; idx++ ) { free( pRenderConfigReader->pFG[idx].pFc ); } free( pRenderConfigReader->pFG ); /* Allocate memory for the frequency grids */ if ( ( pRenderConfigReader->pFG = (FrequencyGrid *) malloc( pRenderConfigReader->nFG * sizeof( FrequencyGrid ) ) ) == NULL ) { return IVAS_ERR_FAILED_ALLOC; } for ( idx = 0; idx < nFG; idx++ ) { pRenderConfigReader->pFG[idx].nrBands = 0; pRenderConfigReader->pFG[idx].pFc = NULL; } pRenderConfigReader->nFG = nFG; } roomAcHasFgCount = TRUE; } else if ( strcmp( item, "ACOUSTICENVIRONMENTCOUNT" ) == 0 ) { /* Read the number of acoustic environments */ if ( !sscanf( pValue, "%u", &pRenderConfigReader->nAE ) ) if ( !sscanf( pValue, "%u", &nAE ) ) { errorHandler( item, ERROR_VALUE_INVALID ); return IVAS_ERR_INVALID_RENDER_CONFIG; } if ( nAE > 0 ) { for ( idx = 0; idx < pRenderConfigReader->nAE; idx++ ) { free( pRenderConfigReader->pAE[idx].pRT60 ); free( pRenderConfigReader->pAE[idx].pDSR ); #ifdef CONTROL_METADATA_EARLY_REFLECTIONS if ( pRenderConfigReader->pAE[idx].pEarlyReflections != NULL ) { free( pRenderConfigReader->pAE[idx].pEarlyReflections->pListenerOrigin ); free( pRenderConfigReader->pAE[idx].pEarlyReflections ); } #endif } } /* Allocate memory for the acoustic environments array */ if ( ( pRenderConfigReader->pAE = (AcousticEnv *) malloc( pRenderConfigReader->nAE * sizeof( AcousticEnv ) ) ) == NULL ) { Loading