11 #include <bnb/utils/defs.hpp>
14 namespace bnb {
namespace interfaces {
16 class processor_configuration;
17 enum class processor_type;
18 enum class realtime_processor_mode;
19 struct processor_result;
26 static std::shared_ptr<frame_processor> create_realtime_processor(realtime_processor_mode mode,
const std::shared_ptr<processor_configuration> & config);
33 static std::shared_ptr<frame_processor> create_photo_processor(
const std::shared_ptr<processor_configuration> & config);
36 static std::shared_ptr<frame_processor> create_video_processor(
const std::shared_ptr<processor_configuration> & config);
38 virtual processor_type get_type() = 0;
40 virtual void push(
const std::shared_ptr<::bnb::interfaces::frame_data> & fd) = 0;