Commit f42f2c57 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'opt_head_rot_rend_be' into 'main'

HRTF rend optimization - Bit exact changes

See merge request !1782
parents 1e645e74 ffc393eb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@

/* Note: each compile switch (FIX_1101_...) is independent from the other ones */
#define OPT_SBA_REND_V1_BE
#define OPT_HEAD_ROT_REND_V1_BE
#define OPT_SBA_ENC_V1_BE
#define OPT_BIN_RENDERER_V1
#define OPT_BIN_RENDERER_V2
+9 −0
Original line number Diff line number Diff line
@@ -1046,7 +1046,9 @@ void rotateFrame_shd_cldfb(
    Word16 l = 0, m1 = 0, m2 = 0;
    Word32 realRot[2 * HEADROT_ORDER + 1], imagRot[2 * HEADROT_ORDER + 1];
    Word16 SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM];
#ifndef OPT_HEAD_ROT_REND_V1_BE
    Word32 temp1, temp2;
#endif /* OPT_HEAD_ROT_REND_V1_BE */
    move16();
    move16();
    move16();
@@ -1095,12 +1097,19 @@ void rotateFrame_shd_cldfb(
                    move32();
                    FOR( m = m1; m < m2; m++ )
                    {
#ifdef OPT_HEAD_ROT_REND_V1_BE
                        realRot[n - m1] = Madd_32_16_r( realRot[n - m1], Cldfb_RealBuffer[m][i][iBand], SHrotmat[n][m] ); // Q(x + 14 - 15)
                        move32();
                        imagRot[n - m1] = Madd_32_16_r( imagRot[n - m1], Cldfb_ImagBuffer[m][i][iBand], SHrotmat[n][m] ); // Q(x + 14 - 15)
                        move32();
#else  /* OPT_HEAD_ROT_REND_V1_BE */
                        temp1 = Mpy_32_16_r( Cldfb_RealBuffer[m][i][iBand], SHrotmat[n][m] ); // Q(x + 14 - 15)
                        temp2 = Mpy_32_16_r( Cldfb_ImagBuffer[m][i][iBand], SHrotmat[n][m] ); // Q(x + 14 - 15)
                        realRot[n - m1] = L_add( temp1, realRot[n - m1] );                    // Q(x + 14 - 15)
                        move32();
                        imagRot[n - m1] = L_add( temp2, imagRot[n - m1] ); // Q(x + 14 - 15)
                        move32();
#endif /* OPT_HEAD_ROT_REND_V1_BE */
                    }
                }
                /* write back the result */