Match existing type usage better.
This makes a variety of small changes to synchronize bits of code using different types, remove useless code or casts, and add explicit casts in some places previously doing implicit ones. For example: * Change a few type declarations to better match how the majority of code uses those objects. * Eliminate "< 0" check for unsigned values. * Replace "(float)sin(x)", where |x| is also a float, with "sinf(x)", and similar. * Add casts to uint32_t in many places timestamps were used and the existing code stored signed values into the unsigned objects. * Remove downcasts when the results would be passed to a larger type, e.g. calling "foo((int16_t)x)" with an int |x| when foo() takes an int instead of an int16_t. * Similarly, add casts when passing a larger type to a function taking a smaller one. * Add casts to int16_t when doing something like "int16_t = int16_t + int16_t" as the "+" operation would implicitly upconvert to int, and similar. * Use "false" instead of "0" for setting a bool. * Shift a few temp types when doing a multi-stage calculation involving typecasts, so as to put the most logical/semantically correct type possible into the temps. For example, when doing "int foo = int + int; size_t bar = (size_t)foo + size_t;", we might change |foo| to a size_t and move the cast if it makes more sense for |foo| to be represented as a size_t. BUG=none R=andrew@webrtc.org, asapersson@webrtc.org, henrika@webrtc.org, juberti@webrtc.org, kwiberg@webrtc.org TBR=andrew, asapersson, henrika Review URL: https://codereview.webrtc.org/1168753002 Cr-Commit-Position: refs/heads/master@{#9419}
This commit is contained in:
@ -108,10 +108,11 @@ int Merge::Process(int16_t* input, size_t input_length,
|
||||
// Set a suitable muting slope (Q20). 0.004 for NB, 0.002 for WB,
|
||||
// and so on.
|
||||
int increment = 4194 / fs_mult_;
|
||||
*external_mute_factor = DspHelper::RampSignal(input_channel,
|
||||
interpolation_length,
|
||||
*external_mute_factor,
|
||||
increment);
|
||||
*external_mute_factor =
|
||||
static_cast<int16_t>(DspHelper::RampSignal(input_channel,
|
||||
interpolation_length,
|
||||
*external_mute_factor,
|
||||
increment));
|
||||
DspHelper::UnmuteSignal(&input_channel[interpolation_length],
|
||||
input_length_per_channel - interpolation_length,
|
||||
external_mute_factor, increment,
|
||||
@ -125,7 +126,8 @@ int Merge::Process(int16_t* input, size_t input_length,
|
||||
}
|
||||
|
||||
// Do overlap and mix linearly.
|
||||
int increment = 16384 / (interpolation_length + 1); // In Q14.
|
||||
int16_t increment =
|
||||
static_cast<int16_t>(16384 / (interpolation_length + 1)); // In Q14.
|
||||
int16_t mute_factor = 16384 - increment;
|
||||
memmove(temp_data, expanded_channel,
|
||||
sizeof(int16_t) * best_correlation_index);
|
||||
@ -246,7 +248,8 @@ int16_t Merge::SignalScaling(const int16_t* input, int input_length,
|
||||
// energy_expanded / energy_input is in Q14.
|
||||
energy_expanded = WEBRTC_SPL_SHIFT_W32(energy_expanded, temp_shift + 14);
|
||||
// Calculate sqrt(energy_expanded / energy_input) in Q14.
|
||||
mute_factor = WebRtcSpl_SqrtFloor((energy_expanded / energy_input) << 14);
|
||||
mute_factor = static_cast<int16_t>(
|
||||
WebRtcSpl_SqrtFloor((energy_expanded / energy_input) << 14));
|
||||
} else {
|
||||
// Set to 1 (in Q14) when |expanded| has higher energy than |input|.
|
||||
mute_factor = 16384;
|
||||
|
||||
Reference in New Issue
Block a user