Internal change

PiperOrigin-RevId: 521982139
This commit is contained in:
MediaPipe Team 2023-04-05 01:14:32 -07:00 committed by Copybara-Service
parent 05801b9945
commit 91264eab1f
6 changed files with 26 additions and 23 deletions

View File

@ -26,10 +26,11 @@
namespace mediapipe { namespace mediapipe {
namespace { namespace {
static bool SafeMultiply(int x, int y, int* result) { static bool SafeMultiply(int x, int y, int* result) {
static_assert(sizeof(int64) >= 2 * sizeof(int), static_assert(sizeof(int64_t) >= 2 * sizeof(int),
"Unable to detect overflow after multiplication"); "Unable to detect overflow after multiplication");
const int64 big = static_cast<int64>(x) * static_cast<int64>(y); const int64_t big = static_cast<int64_t>(x) * static_cast<int64_t>(y);
if (big > static_cast<int64>(INT_MIN) && big < static_cast<int64>(INT_MAX)) { if (big > static_cast<int64_t>(INT_MIN) &&
big < static_cast<int64_t>(INT_MAX)) {
if (result != nullptr) *result = static_cast<int>(big); if (result != nullptr) *result = static_cast<int>(big);
return true; return true;
} else { } else {

View File

@ -182,12 +182,12 @@ class SpectrogramCalculator : public CalculatorBase {
int frame_duration_samples_; int frame_duration_samples_;
int frame_overlap_samples_; int frame_overlap_samples_;
// How many samples we've been passed, used for checking input time stamps. // How many samples we've been passed, used for checking input time stamps.
int64 cumulative_input_samples_; int64_t cumulative_input_samples_;
// How many frames we've emitted, used for calculating output time stamps. // How many frames we've emitted, used for calculating output time stamps.
int64 cumulative_completed_frames_; int64_t cumulative_completed_frames_;
// How many frames were emitted last, used for estimating the timestamp on // How many frames were emitted last, used for estimating the timestamp on
// Close when use_local_timestamp_ is true; // Close when use_local_timestamp_ is true;
int64 last_completed_frames_; int64_t last_completed_frames_;
Timestamp initial_input_timestamp_; Timestamp initial_input_timestamp_;
int num_input_channels_; int num_input_channels_;
// How many frequency bins we emit (=N_FFT/2 + 1). // How many frequency bins we emit (=N_FFT/2 + 1).

View File

@ -92,8 +92,8 @@ class SpectrogramCalculatorTest
.cos() .cos()
.transpose(); .transpose();
} }
int64 input_timestamp = round(packet_start_time_seconds * int64_t input_timestamp = round(packet_start_time_seconds *
Timestamp::kTimestampUnitsPerSecond); Timestamp::kTimestampUnitsPerSecond);
AppendInputPacket(packet_data, input_timestamp); AppendInputPacket(packet_data, input_timestamp);
total_num_input_samples += packet_size_samples; total_num_input_samples += packet_size_samples;
} }
@ -116,8 +116,8 @@ class SpectrogramCalculatorTest
double packet_start_time_seconds = double packet_start_time_seconds =
kInitialTimestampOffsetMicroseconds * 1e-6 + kInitialTimestampOffsetMicroseconds * 1e-6 +
total_num_input_samples / input_sample_rate_; total_num_input_samples / input_sample_rate_;
int64 input_timestamp = round(packet_start_time_seconds * int64_t input_timestamp = round(packet_start_time_seconds *
Timestamp::kTimestampUnitsPerSecond); Timestamp::kTimestampUnitsPerSecond);
std::unique_ptr<Matrix> impulse( std::unique_ptr<Matrix> impulse(
new Matrix(Matrix::Zero(1, packet_sizes_samples[i]))); new Matrix(Matrix::Zero(1, packet_sizes_samples[i])));
(*impulse)(0, impulse_offsets_samples[i]) = 1.0; (*impulse)(0, impulse_offsets_samples[i]) = 1.0;
@ -157,8 +157,8 @@ class SpectrogramCalculatorTest
.cos() .cos()
.transpose(); .transpose();
} }
int64 input_timestamp = round(packet_start_time_seconds * int64_t input_timestamp = round(packet_start_time_seconds *
Timestamp::kTimestampUnitsPerSecond); Timestamp::kTimestampUnitsPerSecond);
AppendInputPacket(packet_data, input_timestamp); AppendInputPacket(packet_data, input_timestamp);
total_num_input_samples += packet_size_samples; total_num_input_samples += packet_size_samples;
} }
@ -218,7 +218,7 @@ class SpectrogramCalculatorTest
const double expected_timestamp_seconds = const double expected_timestamp_seconds =
packet_timestamp_offset_seconds + packet_timestamp_offset_seconds +
cumulative_output_frames * frame_step_seconds; cumulative_output_frames * frame_step_seconds;
const int64 expected_timestamp_ticks = const int64_t expected_timestamp_ticks =
expected_timestamp_seconds * Timestamp::kTimestampUnitsPerSecond; expected_timestamp_seconds * Timestamp::kTimestampUnitsPerSecond;
EXPECT_EQ(expected_timestamp_ticks, packet.Timestamp().Value()); EXPECT_EQ(expected_timestamp_ticks, packet.Timestamp().Value());
// Accept the timestamp of the first packet as the baseline for checking // Accept the timestamp of the first packet as the baseline for checking

View File

@ -54,7 +54,8 @@ TEST_F(StabilizedLogCalculatorTest, BasicOperation) {
std::vector<Matrix> input_data_matrices; std::vector<Matrix> input_data_matrices;
for (int input_packet = 0; input_packet < kNumPackets; ++input_packet) { for (int input_packet = 0; input_packet < kNumPackets; ++input_packet) {
const int64 timestamp = input_packet * Timestamp::kTimestampUnitsPerSecond; const int64_t timestamp =
input_packet * Timestamp::kTimestampUnitsPerSecond;
Matrix input_data_matrix = Matrix input_data_matrix =
Matrix::Random(kNumChannels, kNumSamples).array().abs(); Matrix::Random(kNumChannels, kNumSamples).array().abs();
input_data_matrices.push_back(input_data_matrix); input_data_matrices.push_back(input_data_matrix);
@ -80,7 +81,8 @@ TEST_F(StabilizedLogCalculatorTest, OutputScaleWorks) {
std::vector<Matrix> input_data_matrices; std::vector<Matrix> input_data_matrices;
for (int input_packet = 0; input_packet < kNumPackets; ++input_packet) { for (int input_packet = 0; input_packet < kNumPackets; ++input_packet) {
const int64 timestamp = input_packet * Timestamp::kTimestampUnitsPerSecond; const int64_t timestamp =
input_packet * Timestamp::kTimestampUnitsPerSecond;
Matrix input_data_matrix = Matrix input_data_matrix =
Matrix::Random(kNumChannels, kNumSamples).array().abs(); Matrix::Random(kNumChannels, kNumSamples).array().abs();
input_data_matrices.push_back(input_data_matrix); input_data_matrices.push_back(input_data_matrix);

View File

@ -109,7 +109,7 @@ class TimeSeriesFramerCalculator : public CalculatorBase {
// Returns the timestamp of a sample on a base, which is usually the time // Returns the timestamp of a sample on a base, which is usually the time
// stamp of a packet. // stamp of a packet.
Timestamp CurrentSampleTimestamp(const Timestamp& timestamp_base, Timestamp CurrentSampleTimestamp(const Timestamp& timestamp_base,
int64 number_of_samples) { int64_t number_of_samples) {
return timestamp_base + round(number_of_samples / sample_rate_ * return timestamp_base + round(number_of_samples / sample_rate_ *
Timestamp::kTimestampUnitsPerSecond); Timestamp::kTimestampUnitsPerSecond);
} }
@ -118,10 +118,10 @@ class TimeSeriesFramerCalculator : public CalculatorBase {
// emitted. // emitted.
int next_frame_step_samples() const { int next_frame_step_samples() const {
// All numbers are in input samples. // All numbers are in input samples.
const int64 current_output_frame_start = static_cast<int64>( const int64_t current_output_frame_start = static_cast<int64_t>(
round(cumulative_output_frames_ * average_frame_step_samples_)); round(cumulative_output_frames_ * average_frame_step_samples_));
CHECK_EQ(current_output_frame_start, cumulative_completed_samples_); CHECK_EQ(current_output_frame_start, cumulative_completed_samples_);
const int64 next_output_frame_start = static_cast<int64>( const int64_t next_output_frame_start = static_cast<int64_t>(
round((cumulative_output_frames_ + 1) * average_frame_step_samples_)); round((cumulative_output_frames_ + 1) * average_frame_step_samples_));
return next_output_frame_start - current_output_frame_start; return next_output_frame_start - current_output_frame_start;
} }
@ -134,11 +134,11 @@ class TimeSeriesFramerCalculator : public CalculatorBase {
// emulate_fractional_frame_overlap is true. // emulate_fractional_frame_overlap is true.
double average_frame_step_samples_; double average_frame_step_samples_;
int samples_still_to_drop_; int samples_still_to_drop_;
int64 cumulative_output_frames_; int64_t cumulative_output_frames_;
// "Completed" samples are samples that are no longer needed because // "Completed" samples are samples that are no longer needed because
// the framer has completely stepped past them (taking into account // the framer has completely stepped past them (taking into account
// any overlap). // any overlap).
int64 cumulative_completed_samples_; int64_t cumulative_completed_samples_;
Timestamp initial_input_timestamp_; Timestamp initial_input_timestamp_;
// The current timestamp is updated along with the incoming packets. // The current timestamp is updated along with the incoming packets.
Timestamp current_timestamp_; Timestamp current_timestamp_;

View File

@ -49,7 +49,7 @@ class TimeSeriesFramerCalculatorTest
// Returns a float value with the channel and timestamp separated by // Returns a float value with the channel and timestamp separated by
// an order of magnitude, for easy parsing by humans. // an order of magnitude, for easy parsing by humans.
float TestValue(int64 timestamp_in_microseconds, int channel) { float TestValue(int64_t timestamp_in_microseconds, int channel) {
return timestamp_in_microseconds + channel / 10.0; return timestamp_in_microseconds + channel / 10.0;
} }
@ -59,7 +59,7 @@ class TimeSeriesFramerCalculatorTest
auto matrix = new Matrix(num_channels, num_samples); auto matrix = new Matrix(num_channels, num_samples);
for (int c = 0; c < num_channels; ++c) { for (int c = 0; c < num_channels; ++c) {
for (int i = 0; i < num_samples; ++i) { for (int i = 0; i < num_samples; ++i) {
int64 timestamp = time_series_util::SecondsToSamples( int64_t timestamp = time_series_util::SecondsToSamples(
starting_timestamp_seconds + i / input_sample_rate_, starting_timestamp_seconds + i / input_sample_rate_,
Timestamp::kTimestampUnitsPerSecond); Timestamp::kTimestampUnitsPerSecond);
(*matrix)(c, i) = TestValue(timestamp, c); (*matrix)(c, i) = TestValue(timestamp, c);
@ -429,7 +429,7 @@ class TimeSeriesFramerCalculatorTimestampingTest
num_full_packets -= 1; num_full_packets -= 1;
} }
int64 num_samples = 0; int64_t num_samples = 0;
for (int packet_num = 0; packet_num < num_full_packets; ++packet_num) { for (int packet_num = 0; packet_num < num_full_packets; ++packet_num) {
const Packet& packet = output().packets[packet_num]; const Packet& packet = output().packets[packet_num];
num_samples += FrameDurationSamples(); num_samples += FrameDurationSamples();