Loading lib_rend/lib_rend_fx.c +11 −6 Original line number Diff line number Diff line Loading @@ -7183,16 +7183,21 @@ static ivas_error renderIsmToSplitBinaural( Word32 *imagBuffer_fx = &tmpBinaural_CldfbIm[BINAURAL_CHANNELS * pos_idx + ch][slot_idx][0]; Word16 noChannels = ismInput->base.ctx.pSplitRendWrapper->hCldfbHandles->cldfbAna[pos_idx + ch]->no_channels; #ifdef FIX_2283_ACCU_CLDFB Word16 scale = sub( exp, q_cldfb ); FOR( Word16 j = 0; j < noChannels; j++ ) { #ifdef FIX_2283_ACCU_CLDFB realBuffer_fx[j] = L_shl( realBuffer_fx[j], sub( exp, q_cldfb ) ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], sub( exp, q_cldfb ) ); /*Q(exp)*/ realBuffer_fx[j] = L_shl( realBuffer_fx[j], scale ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], scale ); /*Q(exp)*/ } #else realBuffer_fx[j] = L_shl( realBuffer_fx[j], sub( sub( exp, q_cldfb ), 1 ) ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], sub( sub( exp, q_cldfb ), 1 ) ); /*Q(exp)*/ #endif Word16 scale = sub( sub( exp, q_cldfb ), 1 ); FOR( Word16 j = 0; j < noChannels; j++ ) { realBuffer_fx[j] = L_shl( realBuffer_fx[j], scale ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], scale ); /*Q(exp)*/ } #endif q_cldfb = exp; } #endif Loading Loading
lib_rend/lib_rend_fx.c +11 −6 Original line number Diff line number Diff line Loading @@ -7183,16 +7183,21 @@ static ivas_error renderIsmToSplitBinaural( Word32 *imagBuffer_fx = &tmpBinaural_CldfbIm[BINAURAL_CHANNELS * pos_idx + ch][slot_idx][0]; Word16 noChannels = ismInput->base.ctx.pSplitRendWrapper->hCldfbHandles->cldfbAna[pos_idx + ch]->no_channels; #ifdef FIX_2283_ACCU_CLDFB Word16 scale = sub( exp, q_cldfb ); FOR( Word16 j = 0; j < noChannels; j++ ) { #ifdef FIX_2283_ACCU_CLDFB realBuffer_fx[j] = L_shl( realBuffer_fx[j], sub( exp, q_cldfb ) ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], sub( exp, q_cldfb ) ); /*Q(exp)*/ realBuffer_fx[j] = L_shl( realBuffer_fx[j], scale ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], scale ); /*Q(exp)*/ } #else realBuffer_fx[j] = L_shl( realBuffer_fx[j], sub( sub( exp, q_cldfb ), 1 ) ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], sub( sub( exp, q_cldfb ), 1 ) ); /*Q(exp)*/ #endif Word16 scale = sub( sub( exp, q_cldfb ), 1 ); FOR( Word16 j = 0; j < noChannels; j++ ) { realBuffer_fx[j] = L_shl( realBuffer_fx[j], scale ); /*Q(exp)*/ imagBuffer_fx[j] = L_shl( imagBuffer_fx[j], scale ); /*Q(exp)*/ } #endif q_cldfb = exp; } #endif Loading