Project import generated by Copybara.
GitOrigin-RevId: 7e1d382a1788ebd8412c5626581b4c4cf2fe75ea
This commit is contained in:
@@ -74,6 +74,7 @@ cc_library(
|
||||
":content_zooming_calculator_state",
|
||||
"//mediapipe/examples/desktop/autoflip:autoflip_messages_cc_proto",
|
||||
"//mediapipe/framework:calculator_framework",
|
||||
"//mediapipe/framework:packet",
|
||||
"//mediapipe/framework/formats:detection_cc_proto",
|
||||
"//mediapipe/framework/formats:image_frame",
|
||||
"//mediapipe/framework/formats:location_data_cc_proto",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "mediapipe/framework/formats/detection.pb.h"
|
||||
#include "mediapipe/framework/formats/image_frame.h"
|
||||
#include "mediapipe/framework/formats/location_data.pb.h"
|
||||
#include "mediapipe/framework/packet.h"
|
||||
#include "mediapipe/framework/port/ret_check.h"
|
||||
#include "mediapipe/framework/port/status.h"
|
||||
#include "mediapipe/framework/port/status_builder.h"
|
||||
@@ -57,6 +58,8 @@ constexpr float kFieldOfView = 60;
|
||||
constexpr char kStateCache[] = "STATE_CACHE";
|
||||
// Tolerance for zooming out recentering.
|
||||
constexpr float kPixelTolerance = 3;
|
||||
// Returns 'true' when camera is moving (pan/tilt/zoom) & 'false' for no motion.
|
||||
constexpr char kCameraActive[] = "CAMERA_ACTIVE";
|
||||
|
||||
namespace mediapipe {
|
||||
namespace autoflip {
|
||||
@@ -181,6 +184,9 @@ absl::Status ContentZoomingCalculator::GetContract(
|
||||
if (cc->InputSidePackets().HasTag(kStateCache)) {
|
||||
cc->InputSidePackets().Tag(kStateCache).Set<StateCacheType*>();
|
||||
}
|
||||
if (cc->Outputs().HasTag(kCameraActive)) {
|
||||
cc->Outputs().Tag(kCameraActive).Set<bool>();
|
||||
}
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
@@ -649,6 +655,13 @@ absl::Status ContentZoomingCalculator::Process(
|
||||
path_solver_tilt_->ClearHistory();
|
||||
path_solver_zoom_->ClearHistory();
|
||||
}
|
||||
const bool camera_active =
|
||||
is_animating || pan_state || tilt_state || zoom_state;
|
||||
if (cc->Outputs().HasTag(kCameraActive)) {
|
||||
cc->Outputs()
|
||||
.Tag(kCameraActive)
|
||||
.AddPacket(MakePacket<bool>(camera_active).At(cc->InputTimestamp()));
|
||||
}
|
||||
|
||||
// Compute smoothed zoom camera path.
|
||||
MP_RETURN_IF_ERROR(path_solver_zoom_->AddObservation(
|
||||
|
||||
Reference in New Issue
Block a user