Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ #define OPT_2181_MATRIX_TRANSP_1_MUL /* Dolby: Issue 2181, optimize matrixTransp1Mul_fx. */ #define OPT_2182_MATRIX_SCALE_OPS /* Dolby: Issue 2181, move matrix scale operations outside mul operations. */ #define OPT_XXXX_MATRIX_OUT_SCALING #define OPT_2185_MATRIX_OUT_SCALING /* #################### End BASOP optimization switches ############################ */ Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +9 −9 Original line number Diff line number Diff line Loading @@ -4004,7 +4004,7 @@ static void matrixMul_fx( move16(); move16(); #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING Word32 not_zero = 0; #endif Loading Loading @@ -4033,7 +4033,7 @@ static void matrixMul_fx( Are_fx[chA][1], Bim_fx[1][chB] ); move32(); #endif /* #ifdef IVAS_ENH64_CADENCE_CHANGES */ #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING not_zero = L_or( not_zero, outRe_fx[chA][chB] ); not_zero = L_or( not_zero, outIm_fx[chA][chB] ); #endif Loading @@ -4042,7 +4042,7 @@ static void matrixMul_fx( *q_out = sub( add( *q_A, *q_B ), 31 ); move16(); #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING if ( !not_zero ) { *q_out = Q31; Loading Loading @@ -4135,7 +4135,7 @@ static void matrixTransp1Mul_fx( #endif } } #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING Word32 not_zero = 0; #endif FOR( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) Loading @@ -4153,7 +4153,7 @@ static void matrixTransp1Mul_fx( outIm_fx[chA][chB] = W_extract_h( W_shl( tmp_outIm_fx[chA][chB], s_max( -63, sub( q_common, q_tmp_outIm_fx[chA][chB] ) ) ) ); move32(); #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING not_zero = L_or( not_zero, outRe_fx[chA][chB] ); not_zero = L_or( not_zero, outIm_fx[chA][chB] ); #endif Loading @@ -4166,7 +4166,7 @@ static void matrixTransp1Mul_fx( *q_out = sub( q_common, 32 ); move16(); #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING if ( !not_zero ) { *q_out = Q31; Loading Loading @@ -4236,7 +4236,7 @@ static void matrixTransp2Mul_fx( move16(); } #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING Word32 not_zero = 0; #endif FOR( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) Loading Loading @@ -4264,7 +4264,7 @@ static void matrixTransp2Mul_fx( Are_fx[chA][1], Bim_fx[chB][1] ); move32(); #endif /* #ifdef IVAS_ENH64_CADENCE_CHANGES */ #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING not_zero = L_or( not_zero, outRe_fx[chA][chB] ); not_zero = L_or( not_zero, outIm_fx[chA][chB] ); #endif Loading @@ -4273,7 +4273,7 @@ static void matrixTransp2Mul_fx( *q_out = sub( add( *q_A, *q_B ), 31 ); move16(); #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING if ( !not_zero ) { *q_out = Q31; Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ #define OPT_2181_MATRIX_TRANSP_1_MUL /* Dolby: Issue 2181, optimize matrixTransp1Mul_fx. */ #define OPT_2182_MATRIX_SCALE_OPS /* Dolby: Issue 2181, move matrix scale operations outside mul operations. */ #define OPT_XXXX_MATRIX_OUT_SCALING #define OPT_2185_MATRIX_OUT_SCALING /* #################### End BASOP optimization switches ############################ */ Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +9 −9 Original line number Diff line number Diff line Loading @@ -4004,7 +4004,7 @@ static void matrixMul_fx( move16(); move16(); #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING Word32 not_zero = 0; #endif Loading Loading @@ -4033,7 +4033,7 @@ static void matrixMul_fx( Are_fx[chA][1], Bim_fx[1][chB] ); move32(); #endif /* #ifdef IVAS_ENH64_CADENCE_CHANGES */ #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING not_zero = L_or( not_zero, outRe_fx[chA][chB] ); not_zero = L_or( not_zero, outIm_fx[chA][chB] ); #endif Loading @@ -4042,7 +4042,7 @@ static void matrixMul_fx( *q_out = sub( add( *q_A, *q_B ), 31 ); move16(); #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING if ( !not_zero ) { *q_out = Q31; Loading Loading @@ -4135,7 +4135,7 @@ static void matrixTransp1Mul_fx( #endif } } #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING Word32 not_zero = 0; #endif FOR( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) Loading @@ -4153,7 +4153,7 @@ static void matrixTransp1Mul_fx( outIm_fx[chA][chB] = W_extract_h( W_shl( tmp_outIm_fx[chA][chB], s_max( -63, sub( q_common, q_tmp_outIm_fx[chA][chB] ) ) ) ); move32(); #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING not_zero = L_or( not_zero, outRe_fx[chA][chB] ); not_zero = L_or( not_zero, outIm_fx[chA][chB] ); #endif Loading @@ -4166,7 +4166,7 @@ static void matrixTransp1Mul_fx( *q_out = sub( q_common, 32 ); move16(); #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING if ( !not_zero ) { *q_out = Q31; Loading Loading @@ -4236,7 +4236,7 @@ static void matrixTransp2Mul_fx( move16(); } #endif #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING Word32 not_zero = 0; #endif FOR( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) Loading Loading @@ -4264,7 +4264,7 @@ static void matrixTransp2Mul_fx( Are_fx[chA][1], Bim_fx[chB][1] ); move32(); #endif /* #ifdef IVAS_ENH64_CADENCE_CHANGES */ #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING not_zero = L_or( not_zero, outRe_fx[chA][chB] ); not_zero = L_or( not_zero, outIm_fx[chA][chB] ); #endif Loading @@ -4273,7 +4273,7 @@ static void matrixTransp2Mul_fx( *q_out = sub( add( *q_A, *q_B ), 31 ); move16(); #ifdef OPT_XXXX_MATRIX_OUT_SCALING #ifdef OPT_2185_MATRIX_OUT_SCALING if ( !not_zero ) { *q_out = Q31; Loading