Commit 99528627 authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into framework_maintenance

parents 35086e82 64f05971
Loading
Loading
Loading
Loading
+44 −17
Original line number Diff line number Diff line
@@ -394,6 +394,9 @@ static ivas_error acelp_FCB_allocator(
    int16_t nBits_tmp;
    int16_t *p_fixed_cdk_index;
    ivas_error error;
#ifdef FIX_680_ACELP_TABLE_OMASA
    int16_t max_n;
#endif

    error = IVAS_ERR_OK;

@@ -424,13 +427,31 @@ static ivas_error acelp_FCB_allocator(
    }

    /* distribute the bit-budget equally between subframes */
#ifdef FIX_680_ACELP_TABLE_OMASA
    if ( L_subfr > L_SUBFR ) /* access fast_FCB_bits_2sfr */
    {
        max_n = 6;
    }
    else
    {
        max_n = ACELP_FIXED_CDK_NB;
    }
    for ( cdbk = 0; cdbk < max_n; cdbk++ )
    {
        if ( fcb_table( cdbk, L_subfr ) * nb_subfr > *nBits )
        {
            break;
        }
    }
    cdbk--;
#else
    cdbk = 0;
    while ( fcb_table( cdbk, L_subfr ) * nb_subfr <= *nBits )
    {
        cdbk++;
    }
    cdbk--;

#endif
#ifdef DEBUGGING
    if ( cdbk < 0 && coder_type != TRANSITION )
    {
@@ -455,6 +476,10 @@ static ivas_error acelp_FCB_allocator(
    *nBits -= nBits_tmp * nb_subfr;

    /* try to increase the FCB bit-budget of the first subframe(s) */
#ifdef FIX_680_ACELP_TABLE_OMASA
    if ( cdbk < ACELP_FIXED_CDK_NB - 1 )
    {
#endif
        step = fcb_table( cdbk + 1, L_subfr ) - nBits_tmp;
        while ( *nBits >= step )
        {
@@ -477,7 +502,9 @@ static ivas_error acelp_FCB_allocator(
                *nBits -= step;
            }
        }

#ifdef FIX_680_ACELP_TABLE_OMASA
    }
#endif
    /* TRANSITION coding: allocate highest FCBQ bit-budget to the subframe with the glottal-shape codebook */
    if ( tc_subfr >= L_SUBFR )
    {
+1 −0
Original line number Diff line number Diff line
@@ -243,6 +243,7 @@
#define FIX_675_WB_OMASA                                /* Nokia: Fix for issue 675 solving the crash in OMASA for WB input */
#define FIX_683_JBM_CLEANUP                             /* FhG: Fix for issue 683, add clean up for ISM and MASA file writers */
#define FIX_689_USAN_QSPHERICAL                         /* Nokia: Fix usan error from issue 689 */
#define FIX_680_ACELP_TABLE_OMASA                       /* Nokia: Fix for issue 680 preventing overindexing of PulseConfTable */

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

+12 −14
Original line number Diff line number Diff line
@@ -1889,7 +1889,6 @@ void ivas_dirac_dec_compute_directional_responses(
                    }

#ifdef MASA_AND_OBJECTS
                    // Todo OMASA JBM: Here we probably need to use md_idx for meta access
                    if ( hSpatParamRendCom->numIsmDirections > 0 )
                    {
                        int16_t dir;
@@ -1908,25 +1907,25 @@ void ivas_dirac_dec_compute_directional_responses(
                            }
                            else
                            {
                                ivas_dirac_dec_get_response( hMasaIsm->azimuth_ism[dir][hSpatParamRendCom->dirac_read_idx], hMasaIsm->elevation_ism[dir][hSpatParamRendCom->dirac_read_idx], direct_response_temp, hDirACRend->hOutSetup.ambisonics_order );
                                ivas_dirac_dec_get_response( hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], direct_response_temp, hDirACRend->hOutSetup.ambisonics_order );
                            }

                            for ( l = 0; l < num_channels_dir; l++ )
                            {
                                direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k];
                                direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][md_idx][k];
                            }
                        }

                        masaDirect = hSpatParamRendCom->energy_ratio1[hSpatParamRendCom->dirac_read_idx][k] + EPSILON;
                        masaDirect = hSpatParamRendCom->energy_ratio1[md_idx][k] + EPSILON;
                        if ( hSpatParamRendCom->numParametricDirections == 2 )
                        {
                            masaDirect += hSpatParamRendCom->energy_ratio2[hSpatParamRendCom->dirac_read_idx][k];
                            masaDirect += hSpatParamRendCom->energy_ratio2[md_idx][k];
                        }

                        ismDirect = hMasaIsm->energy_ratio_ism[0][hSpatParamRendCom->dirac_read_idx][k];
                        ismDirect = hMasaIsm->energy_ratio_ism[0][md_idx][k];
                        for ( dir = 1; dir < hSpatParamRendCom->numIsmDirections; dir++ )
                        {
                            ismDirect += hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k];
                            ismDirect += hMasaIsm->energy_ratio_ism[dir][md_idx][k];
                        }

                        totalDirect = masaDirect + ismDirect;
@@ -2006,7 +2005,6 @@ void ivas_dirac_dec_compute_directional_responses(
                }

#ifdef MASA_AND_OBJECTS
                // Todo OMASA JBM: Here we also probably need md_idx
                if ( hSpatParamRendCom->numIsmDirections > 0 )
                {
                    int16_t dir;
@@ -2025,26 +2023,26 @@ void ivas_dirac_dec_compute_directional_responses(
                        }
                        else
                        {
                            vbap_determine_gains( hVBAPdata, direct_response_temp, hMasaIsm->azimuth_ism[dir][hSpatParamRendCom->dirac_read_idx], hMasaIsm->elevation_ism[dir][hSpatParamRendCom->dirac_read_idx], 1 );
                            vbap_determine_gains( hVBAPdata, direct_response_temp, hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], 1 );
                        }

                        for ( l = 0; l < num_channels_dir; l++ )
                        {
                            direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k];
                            direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][md_idx][k];
                        }
                    }
                    normalizePanningGains( direct_response_ism, num_channels_dir );

                    masaDirect = hSpatParamRendCom->energy_ratio1[hSpatParamRendCom->dirac_read_idx][k] + EPSILON;
                    masaDirect = hSpatParamRendCom->energy_ratio1[md_idx][k] + EPSILON;
                    if ( hSpatParamRendCom->numParametricDirections == 2 )
                    {
                        masaDirect += hSpatParamRendCom->energy_ratio2[hSpatParamRendCom->dirac_read_idx][k];
                        masaDirect += hSpatParamRendCom->energy_ratio2[md_idx][k];
                    }

                    ismDirect = hMasaIsm->energy_ratio_ism[0][hSpatParamRendCom->dirac_read_idx][k];
                    ismDirect = hMasaIsm->energy_ratio_ism[0][md_idx][k];
                    for ( dir = 1; dir < hSpatParamRendCom->numIsmDirections; dir++ )
                    {
                        ismDirect += hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k];
                        ismDirect += hMasaIsm->energy_ratio_ism[dir][md_idx][k];
                    }

                    totalDirect = masaDirect + ismDirect;
+75 −0
Original line number Diff line number Diff line
@@ -1256,6 +1256,81 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/stv51MC48c.wav_MC51_384000_48-48_7_1_4_JBM5.tst

// MASA 1dir 1TC bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 32kHz out, 5_1 out, JBM Prof 5
../IVAS_cod -masa 1 testv/stv1MASA1TC48n.met ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stv1MASA1TC48n.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 5_1 32 netsimoutput testv/stv1MASA1TC48n.wav_sw_48-32_5_1_JBM5.tst

// MASA 1dir 1TC bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, STEREO out, JBM Prof 5
../IVAS_cod -masa 1 testv/stv1MASA1TC48n.met ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stv1MASA1TC48n.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 48 netsimoutput testv/stv1MASA1TC48n.wav_sw_48-48_STEREO_JBM5.tst

// MASA 1dir 1TC bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, FOA out, JBM Prof 5
../IVAS_cod -masa 1 testv/stv1MASA1TC48n.met ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stv1MASA1TC48n.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv1MASA1TC48n.wav_sw_48-48_FOA_JBM5.tst

// MASA 1dir 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -masa 2 testv/stv1MASA2TC48n.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv1MASA2TC48n.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 16 netsimoutput testv/stv1MASA2TC48n.wav_sw_48-16_BINAURAL_JBM5.tst

// MASA 1dir 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 32kHz out, MONO out, JBM Prof 5
../IVAS_cod -masa 2 testv/stv1MASA2TC48n.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv1MASA2TC48n.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP MONO 32 netsimoutput testv/stv1MASA2TC48n.wav_sw_48-32_MONO_JBM5.tst

// MASA 2dir 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 16 netsimoutput testv/stv2MASA2TC48c.wav_sw_48-16_BINAURAL_JBM5.tst

// MASA 2dir 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, EXT out, JBM Prof 5
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/stv2MASA2TC48c.wav_sw_48-48_EXT_JBM5.tst

// OMASA 2Dir2TC 1ISM at bitrate switching techs 13.2 to 512 kbps start 24.4 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_IR out, JBM Prof 5
../IVAS_cod -ism_masa 1 2 testv/stvISM1.csv testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_24k4_omasatechs_1ism.bin 48 testv/stvOMASA_1ISM_2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_IR 48 netsimoutput testv/stvOMASA_1ISM_2MASA2TC48c.wav_BINAURAL_ROOM_IR_sw_48-48_JBM5.tst

// OMASA 2Dir2TC 2ISM at bitrate switching techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, 7.1 out, JBM Prof 5
../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv NULL testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_48k_omasatechs_2ism.bin 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1 48 netsimoutput testv/stvOMASA_2ISM_2MASA2TC48c.wav_7_1_sw_48-48_JBM5.tst

// OMASA 2Dir2TC 3ISM at bitrate switching techs 13.2 to 512 kbps start 160 kbps, 48kHz in, 48kHz out, MONO out, JBM Prof 5
../IVAS_cod -ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_160k_omasatechs_3ism.bin 48 testv/stvOMASA_3ISM_2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP MONO 48 netsimoutput testv/stvOMASA_3ISM_2MASA2TC48c.wav_MONO_sw_48-48_JBM5.tst

// OMASA 2Dir1TC 3ISM at bitrate switching techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 32kHz out, STEREO out, JBM Prof 5
../IVAS_cod -ism_masa 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA1TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_48k_omasatechs_3ism.bin 48 testv/stvOMASA_3ISM_2MASA1TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 32 netsimoutput testv/stvOMASA_3ISM_2MASA1TC48c.wav_STEREO_sw_48-32_JBM5.tst

// OMASA 1Dir2TC 3ISM at bitrate switching techs 13.2 to 512 kbps start 24.4 kbps, 32kHz in, 48kHz out, 5.1.2 out, JBM Prof 5
../IVAS_cod -ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv1MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_24k4_omasatechs_3ism.bin 32 testv/stvOMASA_3ISM_1MASA2TC32c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 5_1_2 48 netsimoutput testv/stvOMASA_3ISM_1MASA2TC32c.wav_5_1_2_sw_32-48_JBM5.tst

// OMASA 1Dir1TC 4ISM at bitrate switching techs 13.2 to 512 kbps start 32 kbps, 48kHz in, 48kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -ism_masa 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA1TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_32k_omasatechs_4ism.bin 48 testv/stvOMASA_4ISM_1MASA1TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stvOMASA_4ISM_1MASA1TC48c.wav_BINAURAL_sw_48-48_JBM5.tst

// OMASA 1Dir2TC 4ISM at bitrate switching techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, FOA out, JBM Prof 5
../IVAS_cod -ism_masa 4 2 NULL testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_80k_omasatechs_4ism.bin 48 testv/stvOMASA_4ISM_1MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stvOMASA_4ISM_1MASA2TC48c.wav_FOA_sw_48-48_JBM5.tst

// OMASA 2Dir2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, EXT out, JBM Prof 5
../IVAS_cod -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv NULL testv/stvISM4.csv testv/stv2MASA2TC48c.met 256000 48 testv/stvOMASA_4ISM_2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/stvOMASA_4ISM_2MASA2TC48c.wav_EXT_256000_48-48_JBM5.tst



// NON DIEGETiC PAN at 60 kbps, 48kHz in, 48kHz out, STEREO out
+130 B

File added.

No diff preview for this file type.

Loading