Commit 2f0ab98d authored by TYAGIRIS's avatar TYAGIRIS
Browse files

ref porting MR 1328

parent e58eb7d5
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -184,6 +184,8 @@
#define NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM   /* FhG: issue 1058: do not initialize EFAP when IntSetup is HOA3 */
#define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA                 /* Nokia: issue 944: fix FEC error in OMASA */
#define NONBE_FIX_949_MC_5MS_FRAMING                    /*Dlb: Issue 949: fix for 5ms framing/rendering in MC mode */
#define NONBE_FIX_952_MC_PARAMUPMIX_5MS                       /* Dlb : issue 952 : Differences between 5ms and 20ms rendering for ParamUpmix*/

/* #################### End BASOP porting switches ############################ */

/* clang-format on */
+32 −2
Original line number Diff line number Diff line
@@ -113,6 +113,15 @@ void ivas_mc_paramupmix_dec_read_BS(
                hMCParamUpmix->betas[i][k] = hMCParamUpmix->beta_prev[i][k];
            }
        }

#ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
        {
            mvr2r( hMCParamUpmix->alpha_prev[i], hMCParamUpmix->alpha_sf[i], IVAS_MAX_NUM_BANDS );
            mvr2r( hMCParamUpmix->beta_prev[i], hMCParamUpmix->beta_sf[i], IVAS_MAX_NUM_BANDS );
        }
#endif

        hMCParamUpmix->first_frame = 1;
    }
    else /*  if (!st->bfi) */
@@ -131,6 +140,17 @@ void ivas_mc_paramupmix_dec_read_BS(
        st0->bits_frame = min( MAX_BITS_METADATA, last_bit_pos + 1 );
        st0->total_brate = st_ivas->hDecoderConfig->ivas_total_brate; /* to avoid BER detect */

#ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        if ( hMCParamUpmix->first_frame == 0 )
        {
            for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
            {
                mvr2r( hMCParamUpmix->alphas[i], hMCParamUpmix->alpha_prev[i], IVAS_MAX_NUM_BANDS );
                mvr2r( hMCParamUpmix->betas[i], hMCParamUpmix->beta_prev[i], IVAS_MAX_NUM_BANDS );
            }
        }
#endif

        for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
        {
            get_ec_data( st0, ALPHA, hMCParamUpmix->alpha_quant[i], alpha_quant, hMCParamUpmix->alphas[i] );
@@ -150,6 +170,14 @@ void ivas_mc_paramupmix_dec_read_BS(
            }
            hMCParamUpmix->first_frame = 0;
        }

#ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
        {
            mvr2r( hMCParamUpmix->alpha_prev[i], hMCParamUpmix->alpha_sf[i], IVAS_MAX_NUM_BANDS );
            mvr2r( hMCParamUpmix->beta_prev[i], hMCParamUpmix->beta_sf[i], IVAS_MAX_NUM_BANDS );
        }
#endif
    }

    pop_wmops();
@@ -238,13 +266,13 @@ void ivas_mc_paramupmix_dec_render(
    assert( slots_to_render == 0 );
#endif
    {

#ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        for ( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ )
        {
            mvr2r( hMCParamUpmix->alpha_prev[ch], hMCParamUpmix->alpha_sf[ch], IVAS_MAX_NUM_BANDS );
            mvr2r( hMCParamUpmix->beta_prev[ch], hMCParamUpmix->beta_sf[ch], IVAS_MAX_NUM_BANDS );
        }

#endif

        for ( subframe_idx = first_sf; subframe_idx < last_sf; subframe_idx++ )
        {
@@ -260,11 +288,13 @@ void ivas_mc_paramupmix_dec_render(
            ivas_combined_orientation_update_index( st_ivas->hCombinedOrientationData, n_samples_sf );
        }

#ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        for ( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ )
        {
            mvr2r( hMCParamUpmix->alphas[ch], hMCParamUpmix->alpha_prev[ch], IVAS_MAX_NUM_BANDS );
            mvr2r( hMCParamUpmix->betas[ch], hMCParamUpmix->beta_prev[ch], IVAS_MAX_NUM_BANDS );
        }
#endif
    }

    *nSamplesAvailable = ( st_ivas->hTcBuffer->num_slots - st_ivas->hTcBuffer->slots_rendered ) * slot_size;