/*
 * STDC inference application header for KL630 host_stream
 */
#ifndef STDC_APP_H
#define STDC_APP_H

#include <stdint.h>
#include "kp_struct.h"
#include "stdc_post_process.h"

/* Inference request header sent from host to device */
typedef struct {
    kp_inference_header_stamp_t header_stamp;
    uint32_t width;
    uint32_t height;
    uint32_t model_id;
    float fps;
} __attribute__((aligned(4))) stdc_inf_header_t;

/* Inference result sent from device back to host */
typedef struct {
    kp_inference_header_stamp_t header_stamp;
    stdc_result_t stdc_result;
} __attribute__((aligned(4))) stdc_inf_result_t;

void stdc_inference(int job_id, int num_input_buf, void **inf_input_buf_list);
void stdc_inference_deinit(void);

#endif /* STDC_APP_H */
