Commit aaa01f05 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

Merge branch '1506_basop_mc_paramupmix_5_20ms' into 'main-pc'

[split-non-BE][non-BE] Basop porting MR 1328

See merge request !1446
parents 5515153c 4b77faa3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1243,7 +1243,7 @@ build-codec-linux-instrumented-make:
      when: never
  extends:
    - .build-job-linux
  timeout: "7 minutes"
  timeout: "10 minutes"
  tags:
    - ivas-basop-linux
  script:
+2 −1
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@
#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 ############################ */

+34 −0
Original line number Diff line number Diff line
@@ -118,6 +118,15 @@ void ivas_mc_paramupmix_dec_read_BS(
                move32();
            }
        }

#ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        FOR( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
        {
            Copy32( hMCParamUpmix->alpha_prev_fx[i], hMCParamUpmix->alpha_sf_fx[i], IVAS_MAX_NUM_BANDS );
            Copy32( hMCParamUpmix->beta_prev_fx[i], hMCParamUpmix->beta_sf_fx[i], IVAS_MAX_NUM_BANDS );
        }
#endif

        hMCParamUpmix->first_frame = 1;
        move16();
    }
@@ -145,6 +154,18 @@ void ivas_mc_paramupmix_dec_read_BS(
        st0->total_brate = st_ivas->hDecoderConfig->ivas_total_brate; /* to avoid BER detect */
        move32();


#ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        IF( EQ_16( hMCParamUpmix->first_frame, 0 ) )
        {
            FOR( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
            {
                Copy32( hMCParamUpmix->alphas_fx[i], hMCParamUpmix->alpha_prev_fx[i], IVAS_MAX_NUM_BANDS );
                Copy32( hMCParamUpmix->betas_fx[i], hMCParamUpmix->beta_prev_fx[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_fx[i] );
@@ -167,6 +188,14 @@ void ivas_mc_paramupmix_dec_read_BS(
            hMCParamUpmix->first_frame = 0;
            move16();
        }

#ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        FOR( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
        {
            Copy32( hMCParamUpmix->alpha_prev_fx[i], hMCParamUpmix->alpha_sf_fx[i], IVAS_MAX_NUM_BANDS );
            Copy32( hMCParamUpmix->beta_prev_fx[i], hMCParamUpmix->beta_sf_fx[i], IVAS_MAX_NUM_BANDS );
        }
#endif
    }

    pop_wmops();
@@ -257,11 +286,13 @@ void ivas_mc_paramupmix_dec_render(
    }
    {

#ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS
        FOR( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ )
        {
            Copy32( hMCParamUpmix->alpha_prev_fx[ch], hMCParamUpmix->alpha_sf_fx[ch], IVAS_MAX_NUM_BANDS );
            Copy32( hMCParamUpmix->beta_prev_fx[ch], hMCParamUpmix->beta_sf_fx[ch], IVAS_MAX_NUM_BANDS );
        }
#endif

        FOR( subframe_idx = first_sf; subframe_idx < last_sf; subframe_idx++ )
        {
@@ -278,11 +309,14 @@ void ivas_mc_paramupmix_dec_render(
            /* update combined orientation access index */
            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++ )
        {
            Copy32( hMCParamUpmix->alphas_fx[ch], hMCParamUpmix->alpha_prev_fx[ch], IVAS_MAX_NUM_BANDS );
            Copy32( hMCParamUpmix->betas_fx[ch], hMCParamUpmix->beta_prev_fx[ch], IVAS_MAX_NUM_BANDS );
        }
#endif
    }

    *nSamplesAvailable = imult1616( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), (Word16) slot_size );