Commit 225754af authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

Merge branch 'main' into...

Merge branch 'main' into 598-be-re-insert-assert-to-catch-out-of-memory-access-in-the-ind_list-buffer
parents 52d1dc86 5fd23c7d
Loading
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Pushes to main
    - if: $CI_PIPELINE_SOURCE == 'schedule' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Scheduled in main
    - if: $CI_PIPELINE_SOURCE == 'web' # for testing
    - if: $CI_PIPELINE_SOURCE == 'trigger'

stages:
  - .pre
@@ -135,6 +136,8 @@ stages:
      when: never
    - if: $CI_PIPELINE_SOURCE == 'schedule' # Don't run in any scheduled pipelines by default (use schedule templates below to enable again for certain conditions)
      when: never
    - if: $CI_PIPELINE_SOURCE == 'trigger'  # Don't run triggered pipeline by default
      when: never
    - when: on_success

.rules-merge-request:
@@ -1310,6 +1313,24 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
# Other jobs
# ---------------------------------------------------------------

upload-selection-BE-log:
  rules:
  - if: $UPLOAD_SELECTION_BE_RESULTS && $CI_PIPELINE_SOURCE == 'trigger'
    when: always
  timeout: 5 minutes
  tags:
    - ericsson-windows-runner
  script:
    - cp -r $SELECTION_BE_RESULT ./selection-BE-result
    - Get-Content -Path selection-BE-result/public_log--sha-*.txt
    - $has_failed = (Select-String -Path selection-BE-result/public_log--sha-*.txt -Pattern '^FAILED tests' -CaseSensitive).Line
    - If($has_failed) {exit -1}
  artifacts:
    paths:
      - selection-BE-result/public_log--sha-*.txt
    when: always
    expire_in: 1 week

# job that sets up gitlab pages website
pages:
  stage: deploy
+12 −0
Original line number Diff line number Diff line
@@ -174,6 +174,9 @@ typedef enum
#define CPE_CHANNELS                            2                           /* number of CPE (stereo) channels */
#define FOA_CHANNELS                            4                           /* number of FOA channels */
#define HOA2_CHANNELS                           9
#ifdef UPDATE_FASTCONV_SBA_FILTER
#define HOA3_CHANNELS                           16
#endif

#define MAX_NUM_OBJECTS                         4                           /* max. number of audio objects */

@@ -1501,10 +1504,19 @@ typedef enum
#define BINAURAL_MAXBANDS                       60                          /* Max number of bands */
#define BINAURAL_CONVBANDS                      50                          /* Bands upto which convolution is performed */
#define BINAURAL_NTAPS                           5

#ifdef UPDATE_FASTCONV_SBA_FILTER
#define BINAURAL_NTAPS_SBA                       3
#endif

#define BINAURAL_NTAPS_MAX                      96

#define HRTF_SH_ORDER                           3
#ifdef UPDATE_FASTCONV_SBA_FILTER
#define HRTF_SH_CHANNELS                        HOA3_CHANNELS
#else
#define HRTF_SH_CHANNELS                        16
#endif
#define HRTF_LS_CHANNELS                        15
#define HRTF_NUM_BINS                           60
#define REVERB_PREDELAY_MAX                     20                          /* Max input delay for reverb module */

lib_com/options.h

100755 → 100644
+3 −0
Original line number Diff line number Diff line
@@ -156,14 +156,17 @@
#define FIX_565_SBA_BURST_IN_FEC                        /* VA: Issue 565: Fix noise burst during FEC, due to wrong total_brate initialization */
#define FIX_562_ISM2_64KBPS                             /* VA: issue 562: fix ISM2 at 64kbps issue */
#define FIX_559_EXTL_IGF_MISMATCH                       /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */
#define FIX_571_REVERB_NOT_ACTIVATED_ISM                /* Philips: Issue 571: Reverb not activated for discrete and parametric ISM */
#define FIX_572_LFE_LPF_ENC                             /* FhG: issue 572: always apply the low pass filter to the LFE channel */
#define FIX_QMETA_SID_5k2                               /* Nokia: Issue 137: enable using full 5.2k bitrate in MASA SID */
#define FIX_578_PARAMMC_ILD_BS                          /* FhG: Issue 578: transmitt also center ILD in band 0 when LFE is active in 3TC ParamMC */
#define FIX_UNCLR_ISSUE                                 /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */
#define FIX_TCX_LOWRATE_LIMITATION                      /* VA: issue 577: TCX bitrate limitation only when DEBUGGING is active */
#define FIX_575_LOW_OVERLAP_PLC_RECOVERY                /* FhG: Issue 575 fix for PLC and transistion to TCX5*/
#define FIX_569_TD_FILTER_LENGTH                        /* Eri: Issue 569: If an HRTF binary file exceeds the SFX_SPAT_BIN_MAX_FILTER_LENGTH the decoder crashes. This truncates the filter when generated from the model.  */
#define ISM_FB_16k4                                     /* VA: Issue: 579: change BW from SWB to FB in NxISM conditions to match the EVS codec */
#define FIX_580_PARAMMC_ENER_BURSTS                     /* FhG: issue 580: energy bursts due to ILD holding when energy relations change too much */
#define UPDATE_FASTCONV_SBA_FILTER                      /* Dlb: Issue 584: Update SBA CLDFB-Domain HRTFs */
#define FIX_570_SF_EXT_ORIENTATION
#define FIX_593_STL_INCLUDE                             /* FhG: Issue 593: correct include of stl.h in lib_enc/ivas_stereo_eclvq_enc.c */
#define FIX_583_CLANG_TRANS_DET                         /* FhG: Issue 583: clang left shift on ramp_up_flag in transient detector */
+43 −0
Original line number Diff line number Diff line
@@ -179,8 +179,19 @@ static ivas_error ivas_binRenderer_convModuleOpen(
        }
    }
    else
    {
#ifdef UPDATE_FASTCONV_SBA_FILTER
        if ( hBinRenderer->ivas_format == SBA_FORMAT )
        {
            hBinRenConvModule->numTaps = BINAURAL_NTAPS_SBA;
        }
        else
        {
            hBinRenConvModule->numTaps = BINAURAL_NTAPS;
        }
#else
        hBinRenConvModule->numTaps = BINAURAL_NTAPS;
#endif

        /* Use fixed order filtering */
        bandIdx = 0;
@@ -429,6 +440,29 @@ static ivas_error ivas_binaural_hrtf_open(
                mvr2r( rightBRIRImag[i][j], HrtfFastConv->rightBRIRImag[i][j], BINAURAL_NTAPS_MAX );
            }

#ifdef UPDATE_FASTCONV_SBA_FILTER
            for ( j = 0; j < HOA3_CHANNELS; j++ )
            {
                mvr2r( leftHRIRReal_HOA3[i][j], HrtfFastConv->leftHRIRReal_HOA3[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( leftHRIRImag_HOA3[i][j], HrtfFastConv->leftHRIRImag_HOA3[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRReal_HOA3[i][j], HrtfFastConv->rightHRIRReal_HOA3[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRImag_HOA3[i][j], HrtfFastConv->rightHRIRImag_HOA3[i][j], BINAURAL_NTAPS_SBA );
            }
            for ( j = 0; j < HOA2_CHANNELS; j++ )
            {
                mvr2r( leftHRIRReal_HOA2[i][j], HrtfFastConv->leftHRIRReal_HOA2[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( leftHRIRImag_HOA2[i][j], HrtfFastConv->leftHRIRImag_HOA2[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRReal_HOA2[i][j], HrtfFastConv->rightHRIRReal_HOA2[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRImag_HOA2[i][j], HrtfFastConv->rightHRIRImag_HOA2[i][j], BINAURAL_NTAPS_SBA );
            }
            for ( j = 0; j < FOA_CHANNELS; j++ )
            {
                mvr2r( leftHRIRReal_FOA[i][j], HrtfFastConv->leftHRIRReal_FOA[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( leftHRIRImag_FOA[i][j], HrtfFastConv->leftHRIRImag_FOA[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRReal_FOA[i][j], HrtfFastConv->rightHRIRReal_FOA[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRImag_FOA[i][j], HrtfFastConv->rightHRIRImag_FOA[i][j], BINAURAL_NTAPS_SBA );
            }
#else
            for ( j = 0; j < HRTF_SH_CHANNELS; j++ )
            {
                mvr2r( leftHRIRReal_HOA3[i][j], HrtfFastConv->leftHRIRReal_HOA3[i][j], BINAURAL_NTAPS );
@@ -450,6 +484,7 @@ static ivas_error ivas_binaural_hrtf_open(
                mvr2r( rightHRIRReal_FOA[i][j], HrtfFastConv->rightHRIRReal_FOA[i][j], BINAURAL_NTAPS );
                mvr2r( rightHRIRImag_FOA[i][j], HrtfFastConv->rightHRIRImag_FOA[i][j], BINAURAL_NTAPS );
            }
#endif
        }

        mvr2r( fastconvReverberationTimes, HrtfFastConv->fastconvReverberationTimes, CLDFB_NO_CHANNELS_MAX );
@@ -723,7 +758,11 @@ ivas_error ivas_binRenderer_open(
    }

    /* Allocate memories needed for reverb module */
#ifdef FIX_571_REVERB_NOT_ACTIVATED_ISM
    if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
#else
    if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
#endif
    {
        if ( ( error = ivas_binaural_reverb_open( &( hBinRenderer->hReverb ),
                                                  hBinRenderer->conv_band,
@@ -731,7 +770,11 @@ ivas_error ivas_binRenderer_open(
                                                  &( st_ivas->hRenderConfig->roomAcoustics ),
                                                  st_ivas->hIntSetup.output_config,
                                                  st_ivas->hDecoderConfig->output_Fs,
#ifdef FIX_571_REVERB_NOT_ACTIVATED_ISM
                                                  RENDERER_BINAURAL_FASTCONV,
#else
                                                  RENDERER_BINAURAL_FASTCONV_ROOM,
#endif
                                                  st_ivas->hHrtfFastConv,
                                                  st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK )
        {
+17 −0
Original line number Diff line number Diff line
@@ -184,6 +184,15 @@ static ivas_error ivas_ism_bitrate_switching(
                {
                    return error;
                }
#ifdef FIX_571_REVERB_NOT_ACTIVATED_ISM
                if ( st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
                {
                    if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
                    {
                        return error;
                    }
                }
#endif
            }
        }
        else
@@ -258,6 +267,14 @@ static ivas_error ivas_ism_bitrate_switching(
                {
                    st_ivas->hHrtfTD = NULL;
                }

#ifdef FIX_571_REVERB_NOT_ACTIVATED_ISM
                if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
                {
                    ivas_reverb_close( &st_ivas->hReverb );
                }

#endif
            }
        }
        else
Loading