24#include <absl/status/status.h>
25#include <mediapipe/framework/formats/image_frame.h>
26#include <mediapipe/framework/calculator_framework.h>
27#include <mediapipe/framework/port/opencv_core_inc.h>
28#include <physiology/modules/device_type.h>
29#include <physiology/modules/device_context.h>
32namespace presage::smartspectra::container::image_transfer {
37absl::Status FeedFrameToGraph(
38 std::unique_ptr<mediapipe::ImageFrame> input_frame,
39 mediapipe::CalculatorGraph& graph,
40 const int64_t& frame_timestamp,
41 const char* video_stream
47template<presage::platform_independence::DeviceType TDeviceType>
48absl::Status FeedFrameToGraph(
49 std::unique_ptr<mediapipe::ImageFrame> input_frame,
50 mediapipe::CalculatorGraph& graph,
51 presage::platform_independence::DeviceContext<TDeviceType>& device_context,
52 const int64_t& frame_timestamp,
53 const char* video_stream
57absl::Status GetFrameFromPacket(
58 cv::Mat& output_frame_rgb,
59 const mediapipe::Packet& output_video_packet
65template<presage::platform_independence::DeviceType TDeviceType>
66absl::Status GetFrameFromPacket(
67 cv::Mat& output_frame_rgb,
68 presage::platform_independence::DeviceContext<TDeviceType>& device_context,
69 const mediapipe::Packet& output_video_packet