Commit d89cabdb authored by vaclav's avatar vaclav
Browse files

more harmonization of AUDIO_CONFIG with IVAS_REND_AudioConfig and with IVAS_DEC_AUDIO_CONFIG

parent 625aab68
Loading
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ typedef struct
    char *outputWavFilename;
    IVAS_DEC_MODE decMode;
    int32_t output_Fs;
    IVAS_AUDIO_CONFIG outputFormat;
    AUDIO_CONFIG outputFormat;
    bool quietModeEnabled;
    bool delayCompensationEnabled;
    bool voipMode;
@@ -797,10 +797,10 @@ cleanup:
 * Translate command-line argument to output configuration
 *---------------------------------------------------------------------*/

static IVAS_AUDIO_CONFIG cmdline2config(
static AUDIO_CONFIG cmdline2config(
    char *argv )
{
    IVAS_AUDIO_CONFIG output_config;
    AUDIO_CONFIG output_config;

    char argv_to_upper[FILENAME_MAX];

+12 −12
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ typedef struct
} LfeRoutingConfig;
typedef struct
{
    IVAS_AUDIO_CONFIG audioConfig;
    AUDIO_CONFIG audioConfig;
    int32_t inputChannelIndex;
    float gain_dB;
} RendererInput;
@@ -136,7 +136,7 @@ typedef struct

typedef struct
{
    IVAS_AUDIO_CONFIG audioConfig;
    AUDIO_CONFIG audioConfig;
    IVAS_CUSTOM_LS_DATA outSetupCustom;
} OutputConfig;

@@ -365,7 +365,7 @@ static const CmdLnParser_Option cliOptions[] = {

static const int32_t numCliOptions = sizeof( cliOptions ) / sizeof( CmdLnParser_Option );

static IVAS_AUDIO_CONFIG ambisonicsOrderToEnum( const int16_t order );
static AUDIO_CONFIG ambisonicsOrderToEnum( const int16_t order );

static void parseSceneDescriptionFile( char *path, char *audioFilePath, InputConfig *inConfig, IsmPositionProvider *positionProvider, MasaFileReader **masaReaders, LfeRoutingConfig **lfeRoutingConfigs );

@@ -406,7 +406,7 @@ static ivas_error parseLfePanMtxFile( const char *lfeRoutingMatrixFilePath, IVAS

static void printSupportedAudioConfigs( void );

static IVAS_AUDIO_CONFIG parseAudioConfig( const char *configString );
static AUDIO_CONFIG parseAudioConfig( const char *configString );

static void convertInputBuffer( const int16_t *intBuffer, const int16_t numIntSamplesPerChannel, const int16_t numFloatSamplesPerChannel, const int16_t numChannels, float *floatBuffer
#ifdef SPLIT_REND_WITH_HEAD_ROT
@@ -684,7 +684,7 @@ static void rend_closeCldfb( HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_INPUT_CHANNEL
    return;
}

static int16_t get_cldfb_in_flag( IVAS_AUDIO_CONFIG audioConfig, IVAS_RENDER_CONFIG_DATA *renderConfig )
static int16_t get_cldfb_in_flag( AUDIO_CONFIG audioConfig, IVAS_RENDER_CONFIG_DATA *renderConfig )
{
    int16_t cldfb_in;
    cldfb_in = 0;
@@ -2002,7 +2002,7 @@ int main(
 * Local functions
 *------------------------------------------------------------------------------------------*/

static IVAS_AUDIO_CONFIG ambisonicsOrderToEnum(
static AUDIO_CONFIG ambisonicsOrderToEnum(
    const int16_t order )
{
    switch ( order )
@@ -2060,8 +2060,8 @@ static bool parseInConfig(
        return true;
    }

    /* Check for single-format inputs. The given string should map to a member of IVAS_AUDIO_CONFIG enum. */
    IVAS_AUDIO_CONFIG audioConfig = parseAudioConfig( inFormatStr );
    /* Check for single-format inputs. The given string should map to a member of AUDIO_CONFIG enum. */
    AUDIO_CONFIG audioConfig = parseAudioConfig( inFormatStr );
    switch ( audioConfig )
    {
        case AUDIO_CONFIG_MONO:
@@ -2125,7 +2125,7 @@ static bool parseInConfig(
            }
            break;
        case AUDIO_CONFIG_INVALID:
            /* This case will be reached if parsing string to IVAS_AUDIO_CONFIG enum fails.
            /* This case will be reached if parsing string to AUDIO_CONFIG enum fails.
             * Try to use the given string as a path to a custom loudspeaker layout file. */
            {
                ivas_error error = parseCustomLayoutFile( inFormatStr, &inConfig->inSetupCustom );
@@ -2150,7 +2150,7 @@ static bool parseInConfig(
            break;
        default:
        {
            /* Default case covers formats that are defined in the IVAS_AUDIO_CONFIG enum,
            /* Default case covers formats that are defined in the AUDIO_CONFIG enum,
             * but cannot be used at input, e.g. BINAURAL */
            const CmdLnParser_Option *listOption = findOptionById( CmdLnOptionId_listFormats );
            fprintf( stderr, "Unsupported input format: %s. To list valid formats, use option --%s.\n", inFormatStr, listOption->match );
@@ -2249,7 +2249,7 @@ static bool parseOrientationTracking(
    return true;
}

static IVAS_AUDIO_CONFIG parseAudioConfig(
static AUDIO_CONFIG parseAudioConfig(
    const char *configString )
{
#ifndef SPLIT_REND_WITH_HEAD_ROT
@@ -3231,7 +3231,7 @@ static void parseMc(
    --inConfig->multiChannelBuses[idx].inputChannelIndex; /* Convert from 1-indexing */

    readNextMetadataChunk( line, "\n" );
    IVAS_AUDIO_CONFIG cfg = parseAudioConfig( line );
    AUDIO_CONFIG cfg = parseAudioConfig( line );
    /* Try to use the given string as a path to a custom loudspeaker layout file. */
    if ( cfg == AUDIO_CONFIG_INVALID )
    {
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ typedef enum _IVAS_AUDIO_CONFIG
    AUDIO_CONFIG_MASA2,                /* MASA2                                  */
    AUDIO_CONFIG_EXTERNAL              /* external renderer                      */

} IVAS_AUDIO_CONFIG;
} AUDIO_CONFIG;


/*----------------------------------------------------------------------------------*
+10 −13
Original line number Diff line number Diff line
@@ -86,19 +86,6 @@ typedef enum
#endif


/*----------------------------------------------------------------------------------*
 * IVAS output audio configurations
 *----------------------------------------------------------------------------------*/

typedef enum _IVAS_AUDIO_CONFIG AUDIO_CONFIG; /* defined in common_api_types.h */ 

typedef enum
{
    RENDER_TYPE_OVERRIDE_NONE,
    RENDER_TYPE_OVERRIDE_CREND,
    RENDER_TYPE_OVERRIDE_FASTCONV
} ivas_renderTypeOverride;

/*----------------------------------------------------------------------------------*
 * IVAS rendering configurations
 *----------------------------------------------------------------------------------*/
@@ -135,6 +122,16 @@ typedef enum

} RENDERER_TYPE;

#ifdef DEBUGGING
typedef enum
{
    RENDER_TYPE_OVERRIDE_NONE,
    RENDER_TYPE_OVERRIDE_CREND,
    RENDER_TYPE_OVERRIDE_FASTCONV

} ivas_renderTypeOverride;
#endif

/*----------------------------------------------------------------------------------*
 * IVAS general constants
 *----------------------------------------------------------------------------------*/
+4 −7
Original line number Diff line number Diff line
@@ -1040,15 +1040,14 @@ static void ivas_binaural_obtain_DMX(

ivas_error ivas_rend_openCldfbRend(
    CLDFB_REND_WRAPPER *pCldfbRend,
    const IVAS_AUDIO_CONFIG inConfig,
    const IVAS_AUDIO_CONFIG outConfig,
    const AUDIO_CONFIG inConfig,
    const AUDIO_CONFIG outConfig,
    const MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    const int32_t output_Fs )
{
    BINAURAL_RENDERER_HANDLE hBinRenderer;
    int16_t convBand;
    ivas_error error;
    AUDIO_CONFIG in_config, out_config;

    error = IVAS_ERR_OK;

@@ -1073,8 +1072,6 @@ ivas_error ivas_rend_openCldfbRend(
    convBand = hBinRenderer->max_band;

    hBinRenderer->timeSlots = MAX_PARAM_SPATIAL_SUBFRAMES; /* Corresponds to 5 msec sound to motion latency */
    in_config = getIvasAudioConfigFromRendAudioConfig( inConfig );
    out_config = getIvasAudioConfigFromRendAudioConfig( outConfig );

    if ( convBand > BINAURAL_CONVBANDS )
    {
@@ -1087,7 +1084,7 @@ ivas_error ivas_rend_openCldfbRend(
    hBinRenderer->hInputSetup->is_loudspeaker_setup = 0;
    getAudioConfigNumChannels( inConfig, &hBinRenderer->hInputSetup->nchan_out_woLFE );

    if ( ( out_config == AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || ( out_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
    if ( outConfig == AUDIO_CONFIG_BINAURAL_SPLIT_CODED || outConfig == AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
    {
#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG
        hBinRenderer->numPoses = pMultiBinPoseData->num_poses + 1;
@@ -1108,7 +1105,7 @@ ivas_error ivas_rend_openCldfbRend(


    /* Allocate memories and buffers needed for convolutional module */
    if ( ( error = ivas_binRenderer_convModuleOpen( hBinRenderer, RENDERER_BINAURAL_FASTCONV, hBinRenderer->hInputSetup->is_loudspeaker_setup, in_config,
    if ( ( error = ivas_binRenderer_convModuleOpen( hBinRenderer, RENDERER_BINAURAL_FASTCONV, hBinRenderer->hInputSetup->is_loudspeaker_setup, inConfig,
                                                    pCldfbRend->hHrtfFastConv, hBinRenderer->numPoses ) ) != IVAS_ERR_OK )
    {
        return error;
Loading