Commit 2abdc8fd authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch '20240709_cleanup' into 'main'

20240709 cleanup

See merge request !1682
parents e84adb4d 56445a5f
Loading
Loading
Loading
Loading
Loading
+0 −47
Original line number Diff line number Diff line
@@ -128,11 +128,7 @@ typedef struct
    bool customLsOutputEnabled;
    char *customLsSetupFilename;
    int16_t orientation_tracking;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    bool non_diegetic_pan_enabled;
#else
    int16_t Opt_non_diegetic_pan;
#endif
    float non_diegetic_pan_gain;
    bool renderConfigEnabled;
    char *renderConfigFilename;
@@ -152,11 +148,7 @@ typedef struct
#endif
#endif
    AcousticEnvironmentSequence aeSequence;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    bool dpidEnabled;
#else
    int16_t Opt_dpid_on;
#endif
    uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS];

} DecArguments;
@@ -415,12 +407,7 @@ int main(
    if ( arg.renderConfigEnabled )
    {
        /* sanity check */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
        if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM && arg.non_diegetic_pan_enabled == false )
#else
        if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM &&
             arg.Opt_non_diegetic_pan == 0 )
#endif
        {
            fprintf( stderr, "\nError: Renderer configuration file cannot be used in this output configuration.\n\n" );
            goto cleanup;
@@ -440,13 +427,8 @@ int main(
    asked_frame_size = arg.renderFramesize;
    uint16_t aeID = arg.aeSequence.count > 0 ? arg.aeSequence.pID[0] : 65535;

#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.non_diegetic_pan_enabled, arg.non_diegetic_pan_gain,
                                       arg.dpidEnabled, aeID, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK )
#else
    if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain,
                                       arg.Opt_dpid_on, aeID, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK )
#endif
    {
        fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
        goto cleanup;
@@ -612,12 +594,7 @@ int main(

        /* sanity check */
        if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB &&
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
             arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM && arg.non_diegetic_pan_enabled == false )
#else
             arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM &&
             arg.Opt_non_diegetic_pan == 0 )
#endif
        {
            fprintf( stderr, "\nExternal Renderer Config is supported only when binaural output configurations is used as output OR when Split rendering mode is enabled. Exiting. \n" );
            goto cleanup;
@@ -1088,20 +1065,12 @@ static bool parseCmdlIVAS_dec(

    arg->renderConfigEnabled = false;
    arg->renderConfigFilename = NULL;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    arg->dpidEnabled = false;
#else
    arg->Opt_dpid_on = 0;
#endif

    arg->outputMdFilename = NULL;

    arg->inputFormat = IVAS_DEC_INPUT_FORMAT_G192;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    arg->non_diegetic_pan_enabled = false;
#else
    arg->Opt_non_diegetic_pan = 0;
#endif
    arg->non_diegetic_pan_gain = 0.f;
    arg->tsmEnabled = false;
    arg->renderFramesize = IVAS_RENDER_FRAMESIZE_20MS;
@@ -1440,11 +1409,7 @@ static bool parseCmdlIVAS_dec(
        else if ( strcmp( argv_to_upper, "-NON_DIEGETIC_PAN" ) == 0 )
        {
            i++;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
            arg->non_diegetic_pan_enabled = true;
#else
            arg->Opt_non_diegetic_pan = 1;
#endif
            strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 );
            argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0';
            to_upper( argv_to_upper );
@@ -1541,11 +1506,7 @@ static bool parseCmdlIVAS_dec(
        {
            int16_t id, tmp;

#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
            arg->dpidEnabled = true;
#else
            arg->Opt_dpid_on = 1;
#endif
            ++i;
            tmp = 0;
            while ( is_number( argv[i + tmp] ) && tmp < IVAS_MAX_NUM_OBJECTS )
@@ -1626,11 +1587,7 @@ static bool parseCmdlIVAS_dec(
        }
        i++;

#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
        if ( arg->non_diegetic_pan_enabled && arg->outputConfig != IVAS_AUDIO_CONFIG_STEREO )
#else
        if ( ( arg->Opt_non_diegetic_pan ) && ( arg->outputConfig != IVAS_AUDIO_CONFIG_STEREO ) )
#endif
        {
            fprintf( stderr, "Error: non-diegetic panning is supported in stereo only\n\n" );
            usage_dec();
@@ -1649,11 +1606,7 @@ static bool parseCmdlIVAS_dec(
        arg->outputConfig = IVAS_AUDIO_CONFIG_MONO;
        arg->decMode = IVAS_DEC_MODE_EVS;

#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
        if ( arg->non_diegetic_pan_enabled )
#else
        if ( ( arg->Opt_non_diegetic_pan ) )
#endif
        {
            arg->outputConfig = IVAS_AUDIO_CONFIG_STEREO;
        }
+0 −4
Original line number Diff line number Diff line
@@ -162,7 +162,6 @@
//#define FIX_CREND_FIX_POINT_HRTF_FILE_FORMAT          /* Orange issue 1031 : new fix point hrtf binary file format */
//#define FIX_CREND_SIMPLIFY_CODE                         /* Ora : simplify line code in crend */
#define FLOAT_FIX_POINT_HRTF_FILE_FORMAT                /* allows reading floation or fix point hrtf binary file format */
#define FIX_745_FIX_DATA_TYPE_CONVERSION                /* VA: issue 745: implicit data type conversion when calling IVAS_DEC_Configure() */

/* #################### End BE switches ################################## */

@@ -170,9 +169,6 @@
/* any switch which is non-be wrt selection floating point code */
/* all switches in this category should start with "NONBE_" */

#define NONBE_MDCT_ST_DTX_SKIP_DEWHITENING_OF_NOISE_SHAPES_ON_SID_FRAMES /* FhG: issue 1133: skip de-whitening of bg noise shape after frameloss period if the first good frame is an SID */
#define NONBE_MDCT_ST_PLC_DO_NOT_SCALE_OLD_OUT_IF_FIRST_GOOD_IS_SID /* FhG: issue 1133: in TCX PLC, don't scale hHQ_core->old_out after applying fade to noise in burst frame error */
#define NONBE_FIX_1130_DIV_ZERO_LEV_DUR                       /* VA: issue 1130: avoid div by zero in L-D by thresholding R[0] to a min value of 100.0 */
#define NON_BE_FIX_1137_GSC_IVAS_FXFLT_DECODING               /* VA: Add fix point bit allocation for special GSC mode such that float and fixed point have the same final bit allocation */
                         
/* ##################### End NON-BE switches ########################### */
+0 −10
Original line number Diff line number Diff line
@@ -189,11 +189,7 @@ ivas_error ivas_core_dec(
            st->flagGuidedAcelp = 0;
        }

#ifdef NONBE_MDCT_ST_PLC_DO_NOT_SCALE_OLD_OUT_IF_FIRST_GOOD_IS_SID
        if ( !st->bfi && st->prev_bfi && st->total_brate > SID_2k40 && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && st->hTcxDec != NULL )
#else
        if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && st->hTcxDec != NULL )
#endif
        {
            v_multc( st->hHQ_core->old_out, st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, st->hHQ_core->old_out, st->hTcxDec->L_frameTCX );
            v_multc( st->hHQ_core->old_outLB, st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, st->hHQ_core->old_outLB, st->L_frame );
@@ -406,16 +402,10 @@ ivas_error ivas_core_dec(
        {
            updateBuffersForDmxMdctStereo( hCPE, output_frame, output, synth );
        }
#ifdef NONBE_MDCT_ST_DTX_SKIP_DEWHITENING_OF_NOISE_SHAPES_ON_SID_FRAMES

        /* On first good active frame after frameloss undo the whitening of the bg noise shape */
        if ( sts[0]->core_brate > SID_2k40 && sts[0]->bfi == 0 && sts[0]->prev_bfi == 1 )
        {
#else
        if ( sts[0]->bfi == 0 && sts[0]->prev_bfi == 1 )
        {
            /* On first good frame after frameloss undo the whitening of the bg noise shape */
#endif
            for ( n = 0; n < n_channels; ++n )
            {
                if ( sts[n]->last_core_bfi != ACELP_CORE )
+15 −64
Original line number Diff line number Diff line
@@ -404,43 +404,19 @@ ivas_error IVAS_DEC_Configure(
    IVAS_DEC_HANDLE hIvasDec,                          /* i/o: IVAS decoder handle                        */
    const uint32_t sampleRate,                         /* i  : output sampling frequency                  */
    const AUDIO_CONFIG outputConfig,                   /* i  : output configuration                       */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool tsmEnabled,                             /* i  : enable TSM                                 */
#else
    const int16_t tsmEnabled,                /* i  : enable time scale modification             */
#endif
    const IVAS_RENDER_FRAMESIZE renderFramesize,       /* i  : rendering frame size                       */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool customLsOutputEnabled,                  /* i  : enable custom loudspeaker setup handle     */
    const bool hrtfReaderEnabled,                      /* i  : enable HRTF binary file input              */
    const bool enableHeadRotation,                     /* i  : enable head rotation for binaural output   */
    const bool enableExternalOrientation,              /* i  : enable external orientations               */
#else
    const int16_t customLsOutputEnabled,     /* i  : enable custom loudspeaker setup handle     */
    const int16_t hrtfReaderEnabled,         /* i  : enable HRTF binary file input              */
    const int16_t enableHeadRotation,        /* i  : enable head rotation for binaural output   */
    const int16_t enableExternalOrientation, /* i  : enable external orientations               */
#endif
    const IVAS_HEAD_ORIENT_TRK_T orientation_tracking, /* i  : head orientation tracking type             */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool renderConfigEnabled,                    /* i  : enable Renderer config. file for binaural output */
    const bool non_diegetic_pan_enabled,               /* i  : enabled diegetic panning                         */
#else
    const int16_t renderConfigEnabled,       /* i  : enable Renderer config. file for binaural output */
    const int16_t Opt_non_diegetic_pan,      /* i  : diegetic or not                                  */
#endif
    const float non_diegetic_pan_gain,                 /* i  : non diegetic panning gain                        */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool dpidEnabled,                            /* i  : enable directivity pattern option                */
#else
    const int16_t Opt_dpid_on,               /* i  : enable directivity pattern option                */
#endif
    const uint16_t acousticEnvironmentId,              /* i  : Acoustic environment ID                          */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool delayCompensationEnabled                /* i  : enable delay compensation                        */
#else
    const int16_t delayCompensationEnabled   /* i  : enable delay compensation                        */
#endif
)
{
    Decoder_Struct *st_ivas;
@@ -458,13 +434,8 @@ ivas_error IVAS_DEC_Configure(
        return IVAS_ERR_WRONG_PARAMS;
    }

#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && !( ( outputConfig == IVAS_AUDIO_CONFIG_MONO && !non_diegetic_pan_enabled ) ||
                                                   ( outputConfig == IVAS_AUDIO_CONFIG_STEREO && non_diegetic_pan_enabled ) ) )
#else
    if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && !( ( outputConfig == IVAS_AUDIO_CONFIG_MONO && Opt_non_diegetic_pan == 0 ) ||
                                                   ( outputConfig == IVAS_AUDIO_CONFIG_STEREO && Opt_non_diegetic_pan == 1 ) ) )
#endif
    {
        return IVAS_ERR_WRONG_MODE;
    }
@@ -492,37 +463,17 @@ ivas_error IVAS_DEC_Configure(
        hDecoderConfig->nchan_out = audioCfg2channels( hDecoderConfig->output_config );
    }

#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    hDecoderConfig->Opt_tsm = (int16_t) tsmEnabled;
    hDecoderConfig->Opt_LsCustom = (int16_t) customLsOutputEnabled;
    hDecoderConfig->Opt_Headrotation = (int16_t) enableHeadRotation;
#else
    hDecoderConfig->Opt_tsm = tsmEnabled;
    hDecoderConfig->Opt_LsCustom = customLsOutputEnabled;
    hDecoderConfig->Opt_Headrotation = enableHeadRotation;
#endif
    hDecoderConfig->orientation_tracking = orientation_tracking;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    hDecoderConfig->Opt_HRTF_binary = (int16_t) hrtfReaderEnabled;
    hDecoderConfig->Opt_RendConfigCustom = (int16_t) renderConfigEnabled;
    hDecoderConfig->Opt_non_diegetic_pan = (int16_t) non_diegetic_pan_enabled;
#else
    hDecoderConfig->Opt_HRTF_binary = hrtfReaderEnabled;
    hDecoderConfig->Opt_RendConfigCustom = renderConfigEnabled;
    hDecoderConfig->Opt_non_diegetic_pan = Opt_non_diegetic_pan;
#endif
    hDecoderConfig->non_diegetic_pan_gain = non_diegetic_pan_gain;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    hDecoderConfig->Opt_delay_comp = (int16_t) delayCompensationEnabled;
#else
    hDecoderConfig->Opt_delay_comp = delayCompensationEnabled;
#endif
    hDecoderConfig->Opt_ExternalOrientation = enableExternalOrientation;
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    hDecoderConfig->Opt_dpid_on = (int16_t) dpidEnabled;
#else
    hDecoderConfig->Opt_dpid_on = Opt_dpid_on;
#endif
    hDecoderConfig->Opt_aeid_on = acousticEnvironmentId != 65535 ? TRUE : FALSE;

    if ( renderFramesize == IVAS_RENDER_FRAMESIZE_UNKNOWN )
+0 −24
Original line number Diff line number Diff line
@@ -122,43 +122,19 @@ ivas_error IVAS_DEC_Configure(
    IVAS_DEC_HANDLE hIvasDec,                   /* i/o: IVAS decoder handle                                                     */
    const uint32_t sampleRate,                  /* i  : output sampling frequency                                               */
    const IVAS_AUDIO_CONFIG outputConfig,       /* i  : audio configuration                                                     */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool tsmEnabled,                      /* i  : enable TSM                                                              */
#else
    const int16_t tsmEnabled,                   /* i  : enable TSM                                                              */
#endif
    const IVAS_RENDER_FRAMESIZE renderFramesize,            /* i  : rendering frame size                       */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool customLsOutputEnabled,           /* i  : enable custom loudspeaker setup handle                                  */
    const bool hrtfReaderEnabled,               /* i  : enable HRTF binary file input                                           */
    const bool enableHeadRotation,              /* i  : enable head rotation for binaural output                                */
    const bool enableExternalOrientation,       /* i  : enable external orientations                                            */
#else
    const int16_t customLsOutputEnabled,        /* i  : enable custom loudspeaker setup handle                                  */
    const int16_t hrtfReaderEnabled,            /* i  : enable HRTF binary file input                                           */
    const int16_t enableHeadRotation,           /* i  : enable head rotation for binaural output                                */
    const int16_t enableExternalOrientation,    /* i  : enable external orientations                                            */
#endif
    const IVAS_HEAD_ORIENT_TRK_T orientation_tracking, /* i  : head orientation tracking type                                   */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool renderConfigEnabled,             /* i  : enable Renderer config. file for binaural output                        */
    const bool non_diegetic_pan_enabled,        /* i  : enabled diegetic panning                                                */
#else
    const int16_t renderConfigEnabled,          /* i  : enable Renderer config. file for binaural output                        */
    const int16_t Opt_non_diegetic_pan,         /* i  : diegetic or not                                                         */
#endif
    const float non_diegetic_pan_gain,          /* i  : non diegetic panning gain                                               */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool dpidEnabled,                     /* i  : enable directivity pattern option                                       */
#else
    const int16_t Opt_dpid_on,                  /* i  : enable directivity pattern option                                       */
#endif
    const uint16_t acousticEnvironmentId,       /* i  : Acoustic environment ID                                                 */
#ifdef FIX_745_FIX_DATA_TYPE_CONVERSION
    const bool delayCompensationEnabled         /* i  : enable delay compensation                                               */
#else
    const int16_t delayCompensationEnabled      /* i  : enable delay compensation                                               */
#endif
);

void IVAS_DEC_Close(
Loading