Commit ee1ea54a authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

Merge remote-tracking branch 'origin/main' into 871-crash-in-osba-encder-with-ltv-signal

parents 173a94b3 2ad7a310
Loading
Loading
Loading
Loading
Loading
+26 −7
Original line number Diff line number Diff line
@@ -225,8 +225,9 @@ typedef enum
    CmdLnOptionId_exteriorOrientationFile,
#ifdef NONBE_UNIFIED_DECODING_PATHS
    CmdLnOptionId_framing,
#endif
#else
    CmdLnOptionId_framing5ms,
#endif
    CmdLnOptionId_syncMdDelay,
    CmdLnOptionId_directivityPatternId,
    CmdLnOptionId_acousticEnvironmentId
@@ -276,7 +277,11 @@ static const CmdLnParser_Option cliOptions[] = {
    {
        .id = CmdLnOptionId_trajFile,
        .match = "trajectory_file",
#ifdef FIX_247_EXTERNAL_RENDERER_COMMAND_LINE
        .matchShort = "T",
#else
        .matchShort = "tf",
#endif
        .description = "Head rotation trajectory file for simulation of head tracking (only for binaural outputs)",
    },
#ifdef SPLIT_REND_WITH_HEAD_ROT
@@ -307,14 +312,25 @@ static const CmdLnParser_Option cliOptions[] = {
    },
    {
        .id = CmdLnOptionId_renderConfigFile,
#ifdef FIX_247_EXTERNAL_RENDERER_COMMAND_LINE
        .match = "render_config_parameters",
        .matchShort = "render_config",
        .description = "Binaural renderer configuration parameters in file (only for binaural outputs)",
#else
        .match = "render_config",
        .matchShort = "rc",
        .description = "Binaural renderer configuration file (only for binaural outputs)",
#endif
    },
    {
        .id = CmdLnOptionId_nonDiegeticPan,
#ifdef FIX_247_EXTERNAL_RENDERER_COMMAND_LINE
        .match = "non_diegetic_panning",
        .matchShort = "non_diegetic_pan",
#else
        .match = "non_diegetic_pan",
        .matchShort = "ndp",
#endif
        .description = "Panning mono non diegetic sound to stereo -90<= pan <= 90\nleft or l or 90->left, right or r or -90->right, center or c or 0 ->middle\n",
    },
    {
@@ -335,8 +351,13 @@ static const CmdLnParser_Option cliOptions[] = {
      .description = "LFE panning matrix. File (CSV table) containing a matrix of dimensions [ num_input_lfe x num_output_channels ] with elements specifying linear routing gain (like --gain, -g). \nIf specified, overrides the output LFE position option and the default behavior which attempts to map input to output LFE channel(s)" },
    {
        .id = CmdLnOptionId_noDelayCmp,
#ifdef FIX_247_EXTERNAL_RENDERER_COMMAND_LINE
        .match = "no_delay_comparison",
        .matchShort = "no_delay_cmp",
#else
        .match = "no_delay_cmp",
        .matchShort = "ndc",
#endif
        .description = "[flag] Turn off delay compensation",
    },
    {
@@ -382,13 +403,14 @@ static const CmdLnParser_Option cliOptions[] = {
        .matchShort = "fr",
        .description = "Set Render audio framing.",
    },
#endif
#else
    {
        .id = CmdLnOptionId_framing5ms,
        .match = "framing_5ms",
        .matchShort = "fr5",
        .description = "Render audio with 5 ms framing.",
    },
#endif
    {
        .id = CmdLnOptionId_syncMdDelay,
        .match = "sync_md_delay",
@@ -2873,16 +2895,13 @@ static void parseOption(
            }

            break;
#endif
#else
        case CmdLnOptionId_framing5ms:
            assert( numOptionValues == 0 );
#ifdef NONBE_UNIFIED_DECODING_PATHS
            args->render_framesize = IVAS_RENDER_FRAMESIZE_5MS;
#else
            args->framing_5ms = true;
#endif
            fprintf( stderr, "Warning: this is a placeholder for 5ms framing.\n" );
            break;
#endif
        case CmdLnOptionId_directivityPatternId:
            assert( numOptionValues <= RENDERER_MAX_ISM_INPUTS );
            for ( int16_t i = 0; i < numOptionValues; ++i )
+11 −0
Original line number Diff line number Diff line
@@ -189,10 +189,17 @@ ivas_error pre_proc_front_ivas(
    const float tdm_lsp_new_PCh[M],                             /* i  : unq. LSPs of primary channel               */
    const float currFlatness,                                   /* i  : flatness parameter                         */
    const int16_t tdm_ratio_idx,                                /* i  : Current Ratio_L index                      */ 
#ifdef BE_FIX_887_GCC_WARNING_ARRAY_SIZE
    float fr_bands_LR[][2 * NB_BANDS],                          /* i  : energy in frequency bands                  */
    const float Etot_LR[],                                      /* i  : total energy Left & Right channel          */
    float lf_E_LR[][2 * VOIC_BINS],                             /* i  : per bin spectrum energy in lf, LR channels */
    const int16_t localVAD_HE_SAD_LR[],                         /* i  : HE-SAD flag without hangover, LR channels  */
#else
    float fr_bands_LR[CPE_CHANNELS][2 * NB_BANDS],              /* i  : energy in frequency bands                  */
    const float Etot_LR[CPE_CHANNELS],                          /* i  : total energy Left & Right channel          */
    float lf_E_LR[CPE_CHANNELS][2 * VOIC_BINS],                 /* i  : per bin spectrum energy in lf, LR channels */
    const int16_t localVAD_HE_SAD_LR[CPE_CHANNELS],             /* i  : HE-SAD flag without hangover, LR channels  */
#endif
    float band_energies_LR[2 * NB_BANDS],                       /* o  : energy in critical bands without minimum noise floor E_MIN      */
    const int16_t flag_16k_smc,                                 /* i  : flag to indicate if the OL SMC is run at 16 kHz */
    const int16_t front_vad_flag,                               /* i  : front-VAD flag to overwrite VAD decision   */
@@ -990,7 +997,11 @@ ivas_error ivas_ism_metadata_dec_create(

ivas_error ivas_ism_enc(
    Encoder_Struct *st_ivas,                                    /* i/o: IVAS encoder structure                      */
#ifdef BE_FIX_887_GCC_WARNING_ARRAY_SIZE
    float *data[],                                             /* i  : input signal [channels][samples]            */
#else
    float *data[MAX_NUM_OBJECTS],                               /* i  : input signal                                */
#endif
    const int16_t input_frame,                                  /* i  : input frame length per channel              */
    int16_t *nb_bits_metadata,                                  /* i  : number of metadata bits                     */
    const int16_t flag_omasa_ener_brate                         /* i  : less bitrate for objects in OMASA flag      */
+2 −1
Original line number Diff line number Diff line
@@ -154,7 +154,8 @@
#define FIX_888_INTERFACE_UNIFICATION                   /* Nokia: issue #888: fix mismatch in 2D array size */
#define FIX_889_MASA_FILE_WRITER_OPEN                   /* Nokia: issue #889: mismatch in function definition and use */
#define FIX_890_ARRAY_SIZE                              /* Nokia: issue #890: mismatch in 2D array size declaration and use */

#define BE_FIX_887_GCC_WARNING_ARRAY_SIZE               /* VoiceAge: Issue 887: change array size definition to avoid warning with gcc 11.4.0 */
#define FIX_247_EXTERNAL_RENDERER_COMMAND_LINE          /* VA: issue 247: harmonize command-line options names of external renderer with the decoder */

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

+14 −5
Original line number Diff line number Diff line
@@ -3249,10 +3249,19 @@ void long_enr(
    const float Etot,              /* i  : total channel energy                     */
    const int16_t localVAD_HE_SAD, /* i  : HE-SAD flag without hangover             */
    const int16_t high_lpn_flag,   /* i  : sp/mus LPN flag                          */
#ifdef BE_FIX_887_GCC_WARNING_ARRAY_SIZE
    FRONT_VAD_ENC_HANDLE hFrontVad[], /* i/o: front-VAD handles                        */
#else
    FRONT_VAD_ENC_HANDLE hFrontVad[CPE_CHANNELS],   /* i/o: front-VAD handles                        */
#endif
    const int16_t n_chan, /* i  : number of channels                       */
#ifdef BE_FIX_887_GCC_WARNING_ARRAY_SIZE
    const int16_t localVAD_HE_SAD_LR[], /* i  : HE-SAD flag without hangover LR channels */
    const float Etot_LR[]               /* i  : total channel energy LR channels         */
#else
    const int16_t localVAD_HE_SAD_LR[CPE_CHANNELS], /* i  : HE-SAD flag without hangover LR channels */
    const float Etot_LR[CPE_CHANNELS]               /* i  : total channel energy LR channels         */
#endif
);

void noise_est_pre(
+18 −11
Original line number Diff line number Diff line
@@ -98,10 +98,17 @@ ivas_error pre_proc_front_ivas(
    const float tdm_lsp_new_PCh[M],                            /* i  : unq. LSPs of primary channel            */
    const float currFlatness,                                  /* i  : flatness parameter                      */
    const int16_t tdm_ratio_idx,                               /* i  : Current Ratio_L index                   */
#ifdef BE_FIX_887_GCC_WARNING_ARRAY_SIZE
    float fr_bands_LR[][2 * NB_BANDS],  /* i  : energy in frequency bands               */
    const float Etot_LR[],              /* i  : total energy Left & Right channel       */
    float lf_E_LR[][2 * VOIC_BINS],     /* i  : per bin spectrum energy in lf, LR channels */
    const int16_t localVAD_HE_SAD_LR[], /* i  : HE-SAD flag without hangover, LR channels  */
#else
    float fr_bands_LR[CPE_CHANNELS][2 * NB_BANDS],  /* i  : energy in frequency bands               */
    const float Etot_LR[CPE_CHANNELS],              /* i  : total energy Left & Right channel       */
    float lf_E_LR[CPE_CHANNELS][2 * VOIC_BINS],     /* i  : per bin spectrum energy in lf, LR channels */
    const int16_t localVAD_HE_SAD_LR[CPE_CHANNELS], /* i  : HE-SAD flag without hangover, LR channels  */
#endif
    float band_energies_LR[2 * NB_BANDS], /* o  : energy in critical bands without minimum noise floor E_MIN */
    const int16_t flag_16k_smc,           /* i  : flag to indicate if the OL SMC is run at 16 kHz */
    const int16_t front_vad_flag,         /* i  : front-VAD flag to overwrite VAD decision */
Loading