FaceRecognition/src/nv_infer_server_manager.hpp
2025-08-05 11:21:03 +00:00

43 lines
1.6 KiB
C++

#include <gst/gst.h>
#include <fstream>
#include <iostream>
#include "config_manager.hpp"
#include "gstnvdsinfer.h"
#include "gstnvdsmeta.h"
#include "nvds_version.h"
#include "nvdsinfer_custom_impl.h"
class NvInferServerManager {
private:
public:
GstElement *primary_detector = NULL;
int pgie_batch_size;
static unsigned int PGIE_NET_WIDTH;
static unsigned int PGIE_NET_HEIGHT;
static unsigned int MUXER_OUTPUT_WIDTH;
static unsigned int MUXER_OUTPUT_HEIGHT;
static unsigned int nvds_lib_major_version;
static unsigned int nvds_lib_minor_version;
static gint frame_number;
static guint use_device_mem;
std::string inferserver_pgie_config_file;
static float threshold_body_detection;
NvInferServerManager();
bool create_nv_infer_server(int);
~NvInferServerManager();
// static GstPadProbeReturn osd_sink_pad_buffer_probe(GstPad *,
// GstPadProbeInfo *,
// gpointer);
// void attach_probe_to_element(GstElement *);
static GstPadProbeReturn pgie_pad_buffer_probe(GstPad *, GstPadProbeInfo *,
gpointer);
// static GstPadProbeReturn osd_sink_pad_buffer_probe_new(GstPad *,
// GstPadProbeInfo
// *, gpointer);
static void *set_metadata_ptr(float *);
static gpointer copy_user_meta(gpointer, gpointer);
static void release_user_meta(gpointer, gpointer);
};