Loading lib_dec/ivas_svd_dec_fx.c +6 −9 Original line number Diff line number Diff line Loading @@ -1003,9 +1003,9 @@ static void biDiagonalReductionLeft_64( Word16 *g_e ) { #define HEADROOM_LEFT_1 1 #define HEADROOM_LEFT_2 1 #define HEADROOM_LEFT_3 15 #define HEADROOM_LEFT_1 2 #define HEADROOM_LEFT_2 2 #define HEADROOM_LEFT_3 2 #define HEADROOM_LEFT_4 15 Word16 iCh, jCh; Loading Loading @@ -1085,9 +1085,7 @@ static void biDiagonalReductionLeft_64( norm_x = W_extract_h( W_shl( norm_64, norm_x_e ) ); f = Mpy_32_32( norm_x, invVal ); printf("\nF:%08X norm_x_e:%3d r_e:%3d\n",f,norm_x_e,r_e); // magic_shift = norm_x_e - r_e + ( 28 - HEADROOM_LEFT_4 ); // works with headroom_left: 1,2,2 and 1,2,0 magic_shift = norm_x_e - r_e + ( 32 -2*HEADROOM_LEFT_3 - HEADROOM_LEFT_4 ); // works with headroom_left: 1,2,2 and 1,2,0 // magic_shift = norm_x_e - r_e + ( 30 - HEADROOM_LEFT_4 ); magic_shift = norm_x_e - r_e + ( 32 + 2*HEADROOM_LEFT_1 - HEADROOM_LEFT_2 -2*HEADROOM_LEFT_3 - HEADROOM_LEFT_4 ); printf("OUT:"); FOR( jCh = currChannel; jCh < nChannelsL; jCh++ ) { Loading Loading @@ -1122,7 +1120,7 @@ static void biDiagonalReductionRight_64( #define HEADROOM_RIGHT_1 2 #define HEADROOM_RIGHT_2 2 #define HEADROOM_RIGHT_3 15 #define HEADROOM_RIGHT_3 2 #define HEADROOM_RIGHT_4 15 Loading Loading @@ -1198,8 +1196,7 @@ static void biDiagonalReductionRight_64( norm_x_e = W_norm( norm_64 ); norm_x = W_extract_h( W_shl( norm_64, norm_x_e ) ); f = Mpy_32_32( norm_x, invVal ); // magic_shift = norm_x_e - r_e + 29 - ( HEADROOM_RIGHT_4 ); // works with headroom_right: 2,2,2 magic_shift = norm_x_e - r_e + 33 -2*HEADROOM_RIGHT_3 - ( HEADROOM_RIGHT_4 ); // works with headroom_right: 2,2,2 magic_shift = norm_x_e - r_e + ( 32 + 2*HEADROOM_RIGHT_1 - HEADROOM_RIGHT_2 -2*HEADROOM_RIGHT_3 - HEADROOM_RIGHT_4 ); FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { Loading Loading
lib_dec/ivas_svd_dec_fx.c +6 −9 Original line number Diff line number Diff line Loading @@ -1003,9 +1003,9 @@ static void biDiagonalReductionLeft_64( Word16 *g_e ) { #define HEADROOM_LEFT_1 1 #define HEADROOM_LEFT_2 1 #define HEADROOM_LEFT_3 15 #define HEADROOM_LEFT_1 2 #define HEADROOM_LEFT_2 2 #define HEADROOM_LEFT_3 2 #define HEADROOM_LEFT_4 15 Word16 iCh, jCh; Loading Loading @@ -1085,9 +1085,7 @@ static void biDiagonalReductionLeft_64( norm_x = W_extract_h( W_shl( norm_64, norm_x_e ) ); f = Mpy_32_32( norm_x, invVal ); printf("\nF:%08X norm_x_e:%3d r_e:%3d\n",f,norm_x_e,r_e); // magic_shift = norm_x_e - r_e + ( 28 - HEADROOM_LEFT_4 ); // works with headroom_left: 1,2,2 and 1,2,0 magic_shift = norm_x_e - r_e + ( 32 -2*HEADROOM_LEFT_3 - HEADROOM_LEFT_4 ); // works with headroom_left: 1,2,2 and 1,2,0 // magic_shift = norm_x_e - r_e + ( 30 - HEADROOM_LEFT_4 ); magic_shift = norm_x_e - r_e + ( 32 + 2*HEADROOM_LEFT_1 - HEADROOM_LEFT_2 -2*HEADROOM_LEFT_3 - HEADROOM_LEFT_4 ); printf("OUT:"); FOR( jCh = currChannel; jCh < nChannelsL; jCh++ ) { Loading Loading @@ -1122,7 +1120,7 @@ static void biDiagonalReductionRight_64( #define HEADROOM_RIGHT_1 2 #define HEADROOM_RIGHT_2 2 #define HEADROOM_RIGHT_3 15 #define HEADROOM_RIGHT_3 2 #define HEADROOM_RIGHT_4 15 Loading Loading @@ -1198,8 +1196,7 @@ static void biDiagonalReductionRight_64( norm_x_e = W_norm( norm_64 ); norm_x = W_extract_h( W_shl( norm_64, norm_x_e ) ); f = Mpy_32_32( norm_x, invVal ); // magic_shift = norm_x_e - r_e + 29 - ( HEADROOM_RIGHT_4 ); // works with headroom_right: 2,2,2 magic_shift = norm_x_e - r_e + 33 -2*HEADROOM_RIGHT_3 - ( HEADROOM_RIGHT_4 ); // works with headroom_right: 2,2,2 magic_shift = norm_x_e - r_e + ( 32 + 2*HEADROOM_RIGHT_1 - HEADROOM_RIGHT_2 -2*HEADROOM_RIGHT_3 - HEADROOM_RIGHT_4 ); FOR( jCh = idx; jCh < nChannelsC; jCh++ ) { Loading