Commit f9a567b8 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch 'ivas_split_rendering_basop_main_fix_lc3plus_instrumentation' into 'main-pc'

[skip-name-check] Fix LC3plus instrumentation in main-pc

See merge request !1153
parents 18d03799 aab3f53c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -277,6 +277,8 @@ static Word16 get_panning_tangent_gain(
            lim_r = sub( idx, 1 ); /*Q0*/
        }
    }
    assert( "should not be reached, added to avoid issues with WMC tool instrumentation" );
    return 0; /* should not be reached, added to avoid issues with WMC tool instrumentation */
}

static Word16 get_panning(
+3 −0
Original line number Diff line number Diff line
@@ -4277,6 +4277,9 @@ static void ivas_destroy_handle_isar(
            free( ( *hSplitBinRend )->hCldfbDataOut );
            ( *hSplitBinRend )->hCldfbDataOut = NULL;
        }

        free( *hSplitBinRend );
        *hSplitBinRend = NULL;
    }

    return;
+3 −8
Original line number Diff line number Diff line
@@ -316,14 +316,9 @@ void BASOP_cfft_lc3plus(Word32 *re, Word32 *im, Word16 sizeOfFft, Word16 s, Word
void BASOP_rfftN(Word32 *re, Word16 sizeOfFft, Word16 *scale, Word8 *scratchBuffer);
void BASOP_irfftN(Word32 *re, Word16 sizeOfFft, Word16 *scale, Word8 *scratchBuffer);

#if WMOPS_LC3PLUS
extern BASIC_OP multiCounter[MAXCOUNTERS];
extern int      currCounter;
#endif

static __inline void basop_memcpy(void *dst, const void *src, size_t n)
{
#if WMOPS_LC3PLUS
#ifdef WMOPS
    multiCounter[currCounter].move16 += (UWord32)n / 2;
#endif
    /* check for overlapping memory */
@@ -333,7 +328,7 @@ static __inline void basop_memcpy(void *dst, const void *src, size_t n)

static __inline void basop_memmove(void *dst, const void *src, size_t n)
{
#if WMOPS_LC3PLUS
#ifdef WMOPS
    multiCounter[currCounter].move16 += (UWord32)n / 2;
#endif
    memmove(dst, src, n);
@@ -341,7 +336,7 @@ static __inline void basop_memmove(void *dst, const void *src, size_t n)

static __inline void basop_memset(void *dst, int val, size_t n)
{
#if WMOPS_LC3PLUS
#ifdef WMOPS
    multiCounter[currCounter].move16 += (UWord32)n / 2;
#endif
    memset(dst, val, n);
+3 −3
Original line number Diff line number Diff line
@@ -1439,7 +1439,7 @@ RAM_ALIGN const Word16 PhECU_whr16ms_WB_Q15[Lprot_hamm_len2_16k] = {/* From matl
#define PhECU_whr16ms_WB_Q15 NULL
#endif
#ifdef SUBSET_SSWB
RAM_ALIGN const Word16 PhECU_whr16ms_sWB_Q15[Lprot_hamm_len2_24k] =
RAM_ALIGN const Word16 PhECU_whr16ms_ssWB_Q15[Lprot_hamm_len2_24k] =
    {/* From matlab */
     2621,  2636,  2679,  2750,  2850,  2979,  3135,  3319,  3530,  3769,  4034,  4325,  4641,  4982,  5347,
     5736,  6148,  6582,  7036,  7511,  8006,  8519,  9049,  9596,  10158, 10735, 11324, 11926, 12539, 13162,
@@ -1560,7 +1560,7 @@ RAM_ALIGN const Word16 PhECU_preTdaFx16ms_WB_Q14[256] = {
#define PhECU_preTdaFx16ms_WB_Q14 NULL
#endif
#ifdef SUBSET_SSWB
RAM_ALIGN const Word16 PhECU_preTdaFx16ms_sWB_Q14[384] = {
RAM_ALIGN const Word16 PhECU_preTdaFx16ms_ssWB_Q14[384] = {
    -22499, -22471, -22152, -21551, -20715, -19688, -18527, -17277, -15982, -14679, -13393, -12145, -10954, -9826,
    -8760,  -7763,  -6831,  -5958,  -5149,  -4394,  -3688,  -3029,  -2410,  -1831,  -1285,  -769,   -279,   186,
    630,    1055,   1462,   1856,   2236,   2606,   2966,   3317,   3662,   3999,   4330,   4658,   4981,   5301,
@@ -1699,7 +1699,7 @@ RAM_ALIGN const Word16 *const PhECU_wins[5][3] = {
    /* 3ms hamm(left part) , 16ms(center IWHR(periodic)*MDCT-anaQ14) ,  2ms(initial MDCT-ana in Q14)      */
    /*8 kHz*/ {PhECU_whr16ms_NB_Q15, PhECU_preTdaFx16ms_NB_Q14, PhECU_preTdaFx16ms_128_pre_Q14},
    /*16 kHz*/ {PhECU_whr16ms_WB_Q15, PhECU_preTdaFx16ms_WB_Q14, PhECU_preTdaFx16ms_256_pre_Q14},
    /*24 kHz*/ {PhECU_whr16ms_sWB_Q15, PhECU_preTdaFx16ms_sWB_Q14, PhECU_preTdaFx16ms_384_pre_Q14},
    /*24 kHz*/ {PhECU_whr16ms_ssWB_Q15, PhECU_preTdaFx16ms_ssWB_Q14, PhECU_preTdaFx16ms_384_pre_Q14},
    /*32 kHz*/ {PhECU_whr16ms_SWB_Q15, PhECU_preTdaFx16ms_SWB_Q14, PhECU_preTdaFx16ms_512_pre_Q14},
    /*48 kHz*/ {PhECU_whr16ms_FB_Q15, PhECU_preTdaFx16ms_FB_Q14, PhECU_preTdaFx16ms_768_pre_Q14}};

+94 −94
Original line number Diff line number Diff line
@@ -148,8 +148,8 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
    memset(q_d_fx, 0, decoder->frame_length * sizeof(*q_d_fx));
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("Decoder");
#ifdef WMOPS
    push_wmops("Decoder");
#endif

#ifdef ENABLE_RFRAME
@@ -164,19 +164,19 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s

    if (bfi != 1)
    {
#ifdef WMOPS_LC3PLUS
        BASOP_sub_sub_start("Dec(bfi=0)");
#ifdef WMOPS
        push_wmops("Dec(bfi=0)");
#endif
    }
    else
    {
#ifdef WMOPS_LC3PLUS
        BASOP_sub_sub_start("Dec(bfi=1)");
#ifdef WMOPS
        push_wmops("Dec(bfi=1)");
#endif
    }

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("Entropy dec");
#ifdef WMOPS
    push_wmops("Entropy dec");
#endif
    IF (sub(bfi, 1) != 0)
    {
@@ -186,12 +186,12 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
        BW_cutoff_idx_nf = BW_cutoff_idx;
        move16();
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end(); /* Entropy dec */
#ifdef WMOPS
    pop_wmops(); /* Entropy dec */
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("Ari dec");
#ifdef WMOPS
    push_wmops("Ari dec");
#endif
    IF (sub(bfi, 1) != 0)
    {
@@ -243,12 +243,12 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
            processAriDecoderScaling_fx(sqQdec, decoder->yLen, q_d_fx, &q_fx_exp);
        }
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end(); /* Ari dec */
#ifdef WMOPS
    pop_wmops(); /* Ari dec */
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("SnsQuantScfDec");
#ifdef WMOPS
    push_wmops("SnsQuantScfDec");
#endif
    IF (sub(bfi, 1) != 0)
    {
@@ -260,24 +260,24 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
        processSnsQuantizeScfDecoder_fx(L_scf_idx, scf_q, currentScratch);
#endif
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("PLC::ComputeStabFac");
#ifdef WMOPS
    push_wmops("PLC::ComputeStabFac");
#endif
    if (h_DecSetup->plcAd)
    {
        processPLCcomputeStabFac_main(scf_q, h_DecSetup->plcAd->old_scf_q, h_DecSetup->plcAd->old_old_scf_q, bfi,
                                      h_DecSetup->prev_bfi, h_DecSetup->prev_prev_bfi, &h_DecSetup->plcAd->stab_fac);
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("Partial Concealment");
#ifdef WMOPS
    push_wmops("Partial Concealment");
#endif
    IF (sub(bfi, 1) != 0)
    {
@@ -295,26 +295,26 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
                         &h_DecSetup->prev_gg_e, &BW_cutoff_idx_nf, &h_DecSetup->prev_BW_cutoff_idx_nf, fac_ns_idx,
                         &h_DecSetup->prev_fac_ns_fx, &h_DecSetup->pc_nbLostFramesInRow);
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

    IF (sub(bfi, 1) != 0)
    {
#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("Residual dec");
#ifdef WMOPS
        push_wmops("Residual dec");
#endif
        processResidualDecoding_fx(q_d_fx, q_fx_exp, decoder->yLen, resBitBuf, fill_bits
#ifdef ENABLE_HR_MODE
                                   , decoder->hrmode
#endif
        );
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("Noisefill");
#ifdef WMOPS
        push_wmops("Noisefill");
#endif
        /* currentScratch Size = 2 * MAX_LEN bytes */
        IF (zero_frame == 0)
@@ -326,20 +326,20 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
#endif
            );
        }
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("applyGlobalGain");
#ifdef WMOPS
        push_wmops("applyGlobalGain");
#endif
        processApplyGlobalGain_fx(q_d_fx, &q_fx_exp, decoder->yLen, gg_idx, h_DecSetup->quantizedGainOff);
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("Tns_dec");
#ifdef WMOPS
        push_wmops("Tns_dec");
#endif
        /* currentScratch Size = 48 bytes */
        processTnsDecoder_fx(indexes, q_d_fx, decoder->yLen, tns_order, &q_fx_exp, BW_cutoff_idx, decoder->frame_dms,
@@ -348,46 +348,46 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
                             , decoder->hrmode
#endif
        );
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif

#ifdef ENABLE_HR_MODE
#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("SnsInterpScfDec");
#ifdef WMOPS
        push_wmops("SnsInterpScfDec");
#endif
        processSnsInterpolateScf_fx(scf_q_ip, int_scf_fx_ip, int_scf_fx_exp, 0, decoder->bands_number, currentScratch);

#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("Mdct shaping_dec");
#ifdef WMOPS
        push_wmops("Mdct shaping_dec");
#endif
        processScfScaling(int_scf_fx_exp, decoder->bands_number, &q_fx_exp);

        processMdctShaping_fx(q_d_fx, int_scf_fx_ip, int_scf_fx_exp, decoder->bands_offset, decoder->bands_number);
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif
#else
#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("SnsInterpScfDec");
#ifdef WMOPS
        push_wmops("SnsInterpScfDec");
#endif
        /* currentScratch Size = 128 bytes */
        processSnsInterpolateScf_fx(scf_q, int_scf_fx, int_scf_fx_exp, 0, decoder->bands_number, currentScratch);
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
        BASOP_sub_start("Mdct shaping_dec");
#ifdef WMOPS
        push_wmops("Mdct shaping_dec");
#endif
        processScfScaling(int_scf_fx_exp, decoder->bands_number, &q_fx_exp);
        processMdctShaping_fx(q_d_fx, int_scf_fx, int_scf_fx_exp, decoder->bands_offset, decoder->bands_number);
#ifdef WMOPS_LC3PLUS
        BASOP_sub_end();
#ifdef WMOPS
        pop_wmops();
#endif
        /* end int_scf_fx */
#endif /* ENABLE_HR_MODE */
@@ -406,8 +406,8 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
    }
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("PLC::Main");
#ifdef WMOPS
    push_wmops("PLC::Main");
#endif
    /* currentScratch Size = 2 * MAX_LGW + 8 * MAX_LPROT + 12 * MAX_L_FRAME */
    processPLCmain_fx(decoder->plcMeth, &h_DecSetup->concealMethod, &h_DecSetup->nbLostFramesInRow, bfi,
@@ -432,8 +432,8 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
                      , decoder->alpha_type_2_table
#endif
                      );
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif
    
#ifdef ENABLE_HR_MODE
@@ -446,8 +446,8 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
    }
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("PLC/PC::DampingScrambling");
#ifdef WMOPS
    push_wmops("PLC/PC::DampingScrambling");
#endif
    if (h_DecSetup->plcAd)
    {
@@ -462,12 +462,12 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
#endif
        );
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("Imdct");
#ifdef WMOPS
    push_wmops("Imdct");
#endif
    /* currentScratch Size = 4 * MAX_LEN */
    ProcessingIMDCT(q_d_fx, &q_fx_exp, decoder->W_fx, h_DecSetup->stDec_ola_mem_fx, &h_DecSetup->stDec_ola_mem_fx_exp,
@@ -499,12 +499,12 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
        }
#endif /* ENABLE_HR_MODE */

#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("PLC::Update");
#ifdef WMOPS
    push_wmops("PLC::Update");
#endif

    processPLCupdate_fx(h_DecSetup->plcAd, x_fx, q_fx_exp, h_DecSetup->concealMethod, decoder->frame_length,
@@ -514,12 +514,12 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
                        , decoder->hrmode
#endif
                        );
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("LtpfDec");
#ifdef WMOPS
    push_wmops("LtpfDec");
#endif
    /* currentScratch Size = 0.5 * MAX_LEN + 20 bytes */
    process_ltpf_decoder_fx(&q_fx_exp, decoder->frame_length, decoder->ltpf_mem_x_len, decoder->fs_idx,
@@ -533,8 +533,8 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
                            &h_DecSetup->rel_pitch_change, decoder->hrmode, decoder->frame_dms,
#endif
                            currentScratch);
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif
    
#ifdef ENABLE_HR_MODE
@@ -547,8 +547,8 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
    }
#endif
    
#ifdef WMOPS_LC3PLUS
    BASOP_sub_start("Output scaling");
#ifdef WMOPS
    push_wmops("Output scaling");
#endif
    {
        scale  = sub(sub(31 + 16, bits_per_sample), q_fx_exp);
@@ -579,16 +579,16 @@ static int Dec_LC3PLUS_Channel(LC3PLUS_Dec *decoder, int channel, int bits_per_s
            }
        }
    }
#ifdef WMOPS_LC3PLUS
    BASOP_sub_end(); /* Output scaling */
#ifdef WMOPS
    pop_wmops(); /* Output scaling */
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_sub_end();
#ifdef WMOPS
    pop_wmops();
#endif

#ifdef WMOPS_LC3PLUS
    BASOP_sub_end(); /* Decoder */
#ifdef WMOPS
    pop_wmops(); /* Decoder */
#endif


@@ -623,8 +623,8 @@ LC3PLUS_Error Dec_LC3PLUS(LC3PLUS_Dec *decoder, UWord8 *input, int num_bytes, vo
        {
            fec_num_bytes = num_bytes;

#ifdef WMOPS_LC3PLUS
            BASOP_sub_start("fec_dec");
#ifdef WMOPS
            push_wmops("fec_dec");
#endif

            decoder->error_report =
@@ -632,8 +632,8 @@ LC3PLUS_Error Dec_LC3PLUS(LC3PLUS_Dec *decoder, UWord8 *input, int num_bytes, vo
                            &decoder->n_pccw, &bfi, &decoder->be_bp_left, &decoder->be_bp_right, &decoder->n_pc,
                            &decoder->m_fec, scratch);

#ifdef WMOPS_LC3PLUS
            BASOP_sub_end();
#ifdef WMOPS
            pop_wmops();
#endif

            for (ch = 0; ch < decoder->channels; ch++)
@@ -668,8 +668,8 @@ LC3PLUS_Error Dec_LC3PLUS(LC3PLUS_Dec *decoder, UWord8 *input, int num_bytes, vo
            {
                fec_num_bytes = num_bytes / decoder->channels + (ch < (num_bytes % decoder->channels));

#ifdef WMOPS_LC3PLUS
                BASOP_sub_start("fec_dec");
#ifdef WMOPS
                push_wmops("fec_dec");
#endif

                channel_bfi = bfi;
@@ -679,8 +679,8 @@ LC3PLUS_Error Dec_LC3PLUS(LC3PLUS_Dec *decoder, UWord8 *input, int num_bytes, vo
                                &decoder->n_pccw, &channel_bfi, &decoder->be_bp_left, &decoder->be_bp_right,
                                &decoder->n_pc, &decoder->m_fec, scratch);

#ifdef WMOPS_LC3PLUS
                BASOP_sub_end();
#ifdef WMOPS
                pop_wmops();
#endif

                decoder->epmr = MIN(decoder->epmr, channel_epmr);
Loading