Commit 2246d80d authored by multrus's avatar multrus
Browse files

[cleanup] accept FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG

parent 1891189c
Loading
Loading
Loading
Loading
+0 −43
Original line number Diff line number Diff line
@@ -257,11 +257,7 @@ int main(
    if ( arg.hrtfReaderEnabled )
    {
        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_IR && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB )
#else
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM )
#endif
        {
            arg.hrtfReaderEnabled = false;
            fprintf( stderr, "\nError: HRTF binary file cannot be used in this output configuration.\n\n" );
@@ -283,11 +279,7 @@ int main(
    if ( arg.enableHeadRotation )
    {
        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_IR && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB )
#else
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM )
#endif
        {
            fprintf( stderr, "\nError: Head-rotation file file cannot be used in this output configuration.\n\n" );
            goto cleanup;
@@ -307,11 +299,7 @@ int main(
    if ( arg.enableReferenceRotation )
    {
        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_IR && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB )
#else
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM )
#endif
        {
            fprintf( stderr, "\nError: Reference rotation file cannot be used in this output configuration.\n\n" );
            goto cleanup;
@@ -338,11 +326,7 @@ int main(
    if ( arg.enableReferenceVectorTracking )
    {
        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_IR && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB )
#else
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM )
#endif
        {
            fprintf( stderr, "\nError: Reference vector trajectory file cannot be used in this output configuration.\n\n" );
            goto cleanup;
@@ -395,11 +379,7 @@ int main(
    if ( arg.renderConfigEnabled )
    {
        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_IR && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB )
#else
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM )
#endif
        {
            fprintf( stderr, "\nError: Renderer configuration file cannot be used in this output configuration.\n\n" );
            goto cleanup;
@@ -563,17 +543,9 @@ int main(
        IVAS_RENDER_CONFIG_DATA renderConfig;

        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_IR && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB )
#else
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM && arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL )
#endif
        {
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
            fprintf( stderr, "\nExternal Renderer Config is supported only for binaural output configurations. Exiting. \n\n" );
#else
            fprintf( stderr, "\nExternal Renderer Config is supported only for BINAURAL and BINAURAL_ROOM. Exiting. \n\n" );
#endif
            goto cleanup;
        }

@@ -827,7 +799,6 @@ static IVAS_DEC_AUDIO_CONFIG cmdline2config(
    {
        output_config = IVAS_DEC_OUTPUT_HOA3;
    }
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
    else if ( strcmp( argv_to_upper, "BINAURAL" ) == 0 )
    {
        output_config = IVAS_DEC_OUTPUT_BINAURAL;
@@ -840,16 +811,6 @@ static IVAS_DEC_AUDIO_CONFIG cmdline2config(
    {
        output_config = IVAS_DEC_OUTPUT_BINAURAL_ROOM_REVERB;
    }
#else
    else if ( strcmp( argv_to_upper, "BINAURAL" ) == 0 )
    {
        output_config = IVAS_DEC_OUTPUT_BINAURAL;
    }
    else if ( strcmp( argv_to_upper, "BINAURAL_ROOM" ) == 0 )
    {
        output_config = IVAS_DEC_OUTPUT_BINAURAL_ROOM;
    }
#endif
    else
    {
        output_config = IVAS_DEC_OUTPUT_LS_CUSTOM;
@@ -1395,11 +1356,7 @@ static void usage_dec( void )
    fprintf( stdout, "Mandatory parameters:\n" );
    fprintf( stdout, "---------------------\n" );
    fprintf( stdout, "OutputConf           : Output configuration: MONO, STEREO, 5_1, 7_1, 5_1_2, 5_1_4, 7_1_4, FOA,\n" );
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
    fprintf( stdout, "                       HOA2, HOA3, BINAURAL, BINAURAL_ROOM_IR, BINAURAL_ROOM_REVERB, EXT\n" );
#else
    fprintf( stdout, "                       HOA2, HOA3, BINAURAL, BINAURAL_ROOM, EXT\n" );
#endif
    fprintf( stdout, "                       By default, channel order and loudspeaker positions are equal to the\n" );
    fprintf( stdout, "                       encoder. For loudspeaker outputs, OutputConf can be a custom loudspeaker\n" );
    fprintf( stdout, "                       layout file. See readme.txt for details.\n" );
+0 −55
Original line number Diff line number Diff line
@@ -224,41 +224,25 @@ static const CmdLnParser_Option cliOptions[] = {
        .id = CmdLnOptionId_trajFile,
        .match = "trajectory_file",
        .matchShort = "tf",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        .description = "Head rotation trajectory file for simulation of head tracking (only for binaural outputs)",
#else
        .description = "Head rotation trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)",
#endif
    },
    {
        .id = CmdLnOptionId_refRotFile,
        .match = "reference_rotation_file",
        .matchShort = "rf",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        .description = "Reference rotation trajectory file for simulation of head tracking (only for binaural outputs)",
#else
        .description = "Reference rotation trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)",
#endif
    },
    {
        .id = CmdLnOptionId_customHrtfFile,
        .match = "custom_hrtf",
        .matchShort = "hrtf",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        .description = "Custom HRTF file for binaural rendering (only for binaural outputs)",
#else
        .description = "Custom HRTF file for binaural rendering (only for BINAURAL and BINAURAL_ROOM outputs)",
#endif
    },
    {
        .id = CmdLnOptionId_renderConfigFile,
        .match = "render_config",
        .matchShort = "rc",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        .description = "Binaural renderer configuration file (only for binaural outputs)",
#else
        .description = "Binaural renderer configuration file (only for BINAURAL and BINAURAL_ROOM outputs)",
#endif
    },
    {
        .id = CmdLnOptionId_nonDiegeticPan,
@@ -270,11 +254,7 @@ static const CmdLnParser_Option cliOptions[] = {
        .id = CmdLnOptionId_orientationTracking,
        .match = "tracking_type",
        .matchShort = "otr",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        .description = "Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for binaural outputs)",
#else
        .description = "Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for BINAURAL and BINAURAL_ROOM)",
#endif
    },
    {
        .id = CmdlnOptionId_lfePosition,
@@ -314,11 +294,7 @@ static const CmdLnParser_Option cliOptions[] = {
        .id = CmdLnOptionId_referenceVectorFile,
        .match = "reference_vector_file",
        .matchShort = "rvf",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        .description = "Reference vector trajectory file for simulation of head tracking (only for binaural outputs)",
#else
        .description = "Reference vector trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)",
#endif
    },
    {
        .id = CmdLnOptionId_exteriorOrientationFile,
@@ -782,17 +758,9 @@ int main(
        IVAS_RENDER_CONFIG_DATA renderConfig;

        /* sanity check */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL ) && ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM_IR ) && ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
#else
        if ( ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) && ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL ) )
#endif
        {
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
            fprintf( stderr, "\nExternal Renderer Config is only supported for binaural output configurations. Exiting. \n" );
#else
            fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL or BINAURAL_ROOM is used as output. Exiting. \n" );
#endif
            exit( -1 );
        }

@@ -808,12 +776,10 @@ int main(
            exit( -1 );
        }

#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
        {
            renderConfig.room_acoustics.override = TRUE;
        }
#endif

        if ( ( error = IVAS_REND_FeedRenderConfig( hIvasRend, renderConfig ) ) != IVAS_ERR_OK )
        {
@@ -1704,13 +1670,8 @@ static bool parseOrientationTracking(
static IVAS_REND_AudioConfig parseAudioConfig(
    const char *configString )
{
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
    char charBuf[21];
    charBuf[20] = '\0';
#else
    char charBuf[14];
    charBuf[13] = '\0';
#endif

    strncpy( charBuf, configString, sizeof( charBuf ) - 1 );
    charBuf[sizeof( charBuf ) - 1] = '\0';
@@ -1783,7 +1744,6 @@ static IVAS_REND_AudioConfig parseAudioConfig(
                return IVAS_REND_AUDIO_CONFIG_UNKNOWN;
        }
    }
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
    if ( strcmp( charBuf, "BINAURAL" ) == 0 )
    {
        return IVAS_REND_AUDIO_CONFIG_BINAURAL;
@@ -1796,16 +1756,6 @@ static IVAS_REND_AudioConfig parseAudioConfig(
    {
        return IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM_REVERB;
    }
#else
    if ( strcmp( charBuf, "BINAURAL_ROOM" ) == 0 )
    {
        return IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM;
    }
    if ( strcmp( charBuf, "BINAURAL" ) == 0 )
    {
        return IVAS_REND_AUDIO_CONFIG_BINAURAL;
    }
#endif
    return IVAS_REND_AUDIO_CONFIG_UNKNOWN;
}

@@ -2959,14 +2909,9 @@ static void printSupportedAudioConfigs()
        "HOA3",
        "ISMx (input only)",
        "MASAx (input only)",
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
        "BINAURAL (output only)",
        "BINAURAL_ROOM_IR (output only)",
        "BINAURAL_ROOM_REVERB (output only)",
#else
        "BINAURAL (output only)",
        "BINAURAL_ROOM (output only)",
#endif
    };

    fprintf( stdout, "Supported audio formats:\n" );
+0 −4
Original line number Diff line number Diff line
@@ -133,10 +133,6 @@ typedef struct
typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG
{
    int16_t override;
#ifndef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
    int16_t use_brir;
    int16_t late_reverb_on;
#endif
    int16_t nBands;                                   /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */
    float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX];      /* Center frequencies for which following values are provided: */
    float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /*  - The room's T60 per center frequency */
+0 −5
Original line number Diff line number Diff line
@@ -100,14 +100,9 @@ typedef enum
    AUDIO_CONFIG_HOA2,                          /* ambisonics, order 2          */
    AUDIO_CONFIG_HOA3,                          /* ambisonics, order 3          */
    AUDIO_CONFIG_OBA,                           /* object based audio           */
#ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG
    AUDIO_CONFIG_BINAURAL,                      /* binaural with HRIR           */
    AUDIO_CONFIG_BINAURAL_ROOM_IR,              /* binaural with BRIR           */
    AUDIO_CONFIG_BINAURAL_ROOM_REVERB,          /* binaural with HRIR + reverb  */
#else
    AUDIO_CONFIG_BINAURAL,                      /* binaural with HRIR           */
    AUDIO_CONFIG_BINAURAL_ROOM,                 /* binaural with HRIR and BRIR  */
#endif
    AUDIO_CONFIG_ISM1,                          /* ISM1                         */
    AUDIO_CONFIG_ISM2,                          /* ISM2                         */
    AUDIO_CONFIG_ISM3,                          /* ISM3                         */
+0 −1
Original line number Diff line number Diff line
@@ -146,7 +146,6 @@
#define DISABLE_ADAP_RES_COD_TMP                        /* temporary fix for IVAS-403, disables adaptive residual coding */
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */

#define FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG         /* Phi: issue 196 - refactoring renderer output configuration */
#ifdef IND_LIST_DYN
#define FIX_545_ASSERT                                  /* VA: fix issue 545, replace assert() with warning message when hitting memory limit in the buffer of indices */
#endif
Loading