Loading lib_enc/ivas_sns_enc_fx.c +10 −7 Original line number Diff line number Diff line Loading @@ -215,7 +215,7 @@ static Word16 sns_1st_cod_fx_q15( const Word16 *cdbk_ptr; Word16 j0, j1; Word16 dist_split; Word64 dist_min_fx; Word32 dist_min_fx; const Word16 cdbk_fix = 8; // 1.f / powf( 2, SNS_CDBKS_BITS_4_FRAC ) in Q15 move16(); const Word16 *const cdbk = &sns_1st_cdbk[split][core - 1][0]; Loading @@ -224,23 +224,26 @@ static Word16 sns_1st_cod_fx_q15( j1 = add( j0, split_len ); cdbk_ptr = cdbk; dist_min_fx = 0x7fffffffffffffffull; dist_min_fx = MAXVAL_WORD32; dist_split = 0; move64(); move32(); move16(); FOR( Word16 i = 0; i < 32; ++i ) { Word64 dist_fx = 0; move64(); Word32 dist_fx = 0; move32(); FOR( Word16 j = j0; j < j1; ++j ) { Word32 dist; Word32 tmp_1 = L_mult( ( *cdbk_ptr++ ), cdbk_fix ); // Q16 dist = ( L_add( snsq_fx[j], L_negate( tmp_1 ) ) ); dist_fx = W_mac_32_32( dist_fx, dist, dist ); dist = L_shr( dist, 4 ); // TODO: Magic shift. dist = L_mult( extract_l( dist ), extract_l( dist ) ); dist = L_shr( dist, 4 ); // TODO: Magic shift dist_fx = L_add( dist_fx, dist ); } IF( LT_64( dist_fx, dist_min_fx ) ) IF( LT_32( dist_fx, dist_min_fx ) ) { dist_min_fx = dist_fx; dist_split = i; Loading Loading
lib_enc/ivas_sns_enc_fx.c +10 −7 Original line number Diff line number Diff line Loading @@ -215,7 +215,7 @@ static Word16 sns_1st_cod_fx_q15( const Word16 *cdbk_ptr; Word16 j0, j1; Word16 dist_split; Word64 dist_min_fx; Word32 dist_min_fx; const Word16 cdbk_fix = 8; // 1.f / powf( 2, SNS_CDBKS_BITS_4_FRAC ) in Q15 move16(); const Word16 *const cdbk = &sns_1st_cdbk[split][core - 1][0]; Loading @@ -224,23 +224,26 @@ static Word16 sns_1st_cod_fx_q15( j1 = add( j0, split_len ); cdbk_ptr = cdbk; dist_min_fx = 0x7fffffffffffffffull; dist_min_fx = MAXVAL_WORD32; dist_split = 0; move64(); move32(); move16(); FOR( Word16 i = 0; i < 32; ++i ) { Word64 dist_fx = 0; move64(); Word32 dist_fx = 0; move32(); FOR( Word16 j = j0; j < j1; ++j ) { Word32 dist; Word32 tmp_1 = L_mult( ( *cdbk_ptr++ ), cdbk_fix ); // Q16 dist = ( L_add( snsq_fx[j], L_negate( tmp_1 ) ) ); dist_fx = W_mac_32_32( dist_fx, dist, dist ); dist = L_shr( dist, 4 ); // TODO: Magic shift. dist = L_mult( extract_l( dist ), extract_l( dist ) ); dist = L_shr( dist, 4 ); // TODO: Magic shift dist_fx = L_add( dist_fx, dist ); } IF( LT_64( dist_fx, dist_min_fx ) ) IF( LT_32( dist_fx, dist_min_fx ) ) { dist_min_fx = dist_fx; dist_split = i; Loading