Loading lib_dec/ivas_svd_dec_fx.c +2 −16 Original line number Diff line number Diff line Loading @@ -1195,8 +1195,6 @@ static void biDiagonalReductionRight_64( Word64 abs_64; Word16 idx; Word16 bitwindow0; Word64 pre_mult[MAX_OUTPUT_CHANNELS]; Word64 saveme[MAX_OUTPUT_CHANNELS]; Loading Loading @@ -1264,8 +1262,7 @@ static void biDiagonalReductionRight_64( tmp_e = sub( tmp_g_e, bitwindow+1); tmpmul = W_mult0_32_32( tmp_g, factor2); tmpmul = W_shl(tmpmul, tmp_e); #define SPECIAL 0 r_64 = W_sub( W_shr(tmpmul,SPECIAL), W_shr(norm_64,SPECIAL) ); r_64 = W_sub( tmpmul, norm_64 ); r_e = W_norm( r_64); r = W_extract_h( W_shl( r_64, r_e) ); r_e = sub( add( shl( bitwindow, 1), 1), r_e ); Loading @@ -1278,12 +1275,8 @@ static void biDiagonalReductionRight_64( magic_shift=32-tmp_g_e; singularVectors_Left_64[currChannel][idx]=W_sub( singularVectors_Left_64[currChannel][idx], W_shr( W_deposit32_h( tmp_g), magic_shift) ); bitwindow=add(bitwindow, 1); FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { saveme[jCh]=singularVectors_Left_64[currChannel][jCh]; } FOR( iCh = idx; iCh < nChannelsC; iCh++ ) FOR( iCh = idx; iCh < nChannelsL; iCh++ ) { norm_64 = 0; Loading @@ -1299,14 +1292,7 @@ static void biDiagonalReductionRight_64( norm_x = W_extract_h( W_shl( norm_64, norm_x_e) ); f = Mpy_32_32( norm_x, invVal); f_e = add( invVal_e, sub( norm_x_e, r_e) ); // magic_shift = -3*currChannel+22-2*norm_x_e+4*r_e+3*f_e; // FIXME: HOW IS THIS WORKING?????!?!?!?!?!?!?!?!?!? magic_shift = 22-2*norm_x_e+4*r_e+3*f_e; // FIXME: HOW IS THIS WORKING?????!?!?!?!?!?!?!?!?!? FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { factor2 = W_extract_l( W_shr( saveme[jCh], bitwindow) ); // factor2 = W_extract_l( W_shr( singularVectors_Left_64[currChannel][jCh], bitwindow) ); pre_mult[jCh]=W_shr(W_mult0_32_32( f, factor2), magic_shift); } FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { Loading Loading
lib_dec/ivas_svd_dec_fx.c +2 −16 Original line number Diff line number Diff line Loading @@ -1195,8 +1195,6 @@ static void biDiagonalReductionRight_64( Word64 abs_64; Word16 idx; Word16 bitwindow0; Word64 pre_mult[MAX_OUTPUT_CHANNELS]; Word64 saveme[MAX_OUTPUT_CHANNELS]; Loading Loading @@ -1264,8 +1262,7 @@ static void biDiagonalReductionRight_64( tmp_e = sub( tmp_g_e, bitwindow+1); tmpmul = W_mult0_32_32( tmp_g, factor2); tmpmul = W_shl(tmpmul, tmp_e); #define SPECIAL 0 r_64 = W_sub( W_shr(tmpmul,SPECIAL), W_shr(norm_64,SPECIAL) ); r_64 = W_sub( tmpmul, norm_64 ); r_e = W_norm( r_64); r = W_extract_h( W_shl( r_64, r_e) ); r_e = sub( add( shl( bitwindow, 1), 1), r_e ); Loading @@ -1278,12 +1275,8 @@ static void biDiagonalReductionRight_64( magic_shift=32-tmp_g_e; singularVectors_Left_64[currChannel][idx]=W_sub( singularVectors_Left_64[currChannel][idx], W_shr( W_deposit32_h( tmp_g), magic_shift) ); bitwindow=add(bitwindow, 1); FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { saveme[jCh]=singularVectors_Left_64[currChannel][jCh]; } FOR( iCh = idx; iCh < nChannelsC; iCh++ ) FOR( iCh = idx; iCh < nChannelsL; iCh++ ) { norm_64 = 0; Loading @@ -1299,14 +1292,7 @@ static void biDiagonalReductionRight_64( norm_x = W_extract_h( W_shl( norm_64, norm_x_e) ); f = Mpy_32_32( norm_x, invVal); f_e = add( invVal_e, sub( norm_x_e, r_e) ); // magic_shift = -3*currChannel+22-2*norm_x_e+4*r_e+3*f_e; // FIXME: HOW IS THIS WORKING?????!?!?!?!?!?!?!?!?!? magic_shift = 22-2*norm_x_e+4*r_e+3*f_e; // FIXME: HOW IS THIS WORKING?????!?!?!?!?!?!?!?!?!? FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { factor2 = W_extract_l( W_shr( saveme[jCh], bitwindow) ); // factor2 = W_extract_l( W_shr( singularVectors_Left_64[currChannel][jCh], bitwindow) ); pre_mult[jCh]=W_shr(W_mult0_32_32( f, factor2), magic_shift); } FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { Loading