Commit 89ce92d1 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

use new macro 'FIX_2283_Q_CLDFB' , correct q factor of cldfb out

parent 0fbf3e06
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@
#define FIX_2254_IMPROV_PRECISION_OR_COMPLEXITY_NON_BE  /* VA: Precision improvement without increasing complexity, or complexity reduction that might be not BE on the LSB */
#define FIX_2252_LP_CNG_STARTS_SID                      /* VA: issues 2251 and 2252: fix LP CNG uninitialized value in bitstream that starts with an SID */
#define FIX_2283_ISM_MD_DELAY                           /* Dolby: Fix ISM metadata delay round-off */
#define FIX_2283_Q_CLDFB                                /* FhG: Fix Q format issue in CLDFB */

/* ##################### End NON-BE switches ########################### */

+13 −0
Original line number Diff line number Diff line
@@ -7123,14 +7123,27 @@ static ivas_error renderIsmToSplitBinaural(
            {
                FOR( slot_idx = 0; slot_idx < IVAS_CLDFB_NO_COL_MAX; slot_idx++ )
                {
#ifdef FIX_2283_Q_CLDFB
                    cldfbAnalysis_ts_fx_fixed_q( &tmpProcessing[ch][num_bands * slot_idx],
                                                 &tmpBinaural_CldfbRe[BINAURAL_CHANNELS * pos_idx + ch][slot_idx][0],
                                                 &tmpBinaural_CldfbIm[BINAURAL_CHANNELS * pos_idx + ch][slot_idx][0],
                                                 num_bands,
                                                 ismInput->base.ctx.pSplitRendWrapper->hCldfbHandles->cldfbAna[pos_idx + ch],
                                                 &q_cldfb );
                    q_cldfb = exp;
#else
                    cldfbAnalysis_ts_fx( &tmpProcessing[ch][num_bands * slot_idx],
                                         &tmpBinaural_CldfbRe[BINAURAL_CHANNELS * pos_idx + ch][slot_idx][0],
                                         &tmpBinaural_CldfbIm[BINAURAL_CHANNELS * pos_idx + ch][slot_idx][0],
                                         num_bands,
                                         ismInput->base.ctx.pSplitRendWrapper->hCldfbHandles->cldfbAna[pos_idx + ch],
                                         &q_cldfb );
#endif
                }
            }
#ifdef FIX_2283_Q_CLDFB
            *outAudio.pq_fact = sub( *outAudio.pq_fact, 5 );
#endif
        }
        ELSE
        {