mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-02-24 11:54:11 +08:00
* template funcion fill_meta * add function get_plan_max_idx * add function get_mdn_max_idx * remove temp builder variables * get_mdn_max_idx->get_lead_data * get_pan_max_idx->get_plan_data * fill_lane_line * combine fill_lane_line&fill_path into one function * fill_lead_vw * using unique_ptr * prefer using constexpr * more constexpr,remove duplicate defined TRAJECTORY_SIZE * remove suffix _arr from variable name * misc * remove extern c * refactor model_publish * remove unused paramaters * traffic_convention to c style array * c style array:prev_desire&pulse_desire * fix error&make easy for review * const mat3 &transform * move cl_command_queue into ModelState * use maco LEAD_MHP_SELECTION * move constexpr from .h to .cc * remove #define MODEL_NAME * modeldata.h: contexpr * remove param temporal from model_init * helper function get_best_data * fix probs * int Co-authored-by: deanlee <deanlee3@gmail.com>
36 lines
1018 B
C
36 lines
1018 B
C
#pragma once
|
|
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
|
#ifdef __APPLE__
|
|
#include <OpenCL/cl.h>
|
|
#else
|
|
#include <CL/cl.h>
|
|
#endif
|
|
|
|
#include <float.h>
|
|
#include <stdlib.h>
|
|
#include "common/mat.h"
|
|
#include "transforms/transform.h"
|
|
#include "transforms/loadyuv.h"
|
|
|
|
const bool send_raw_pred = getenv("SEND_RAW_PRED") != NULL;
|
|
|
|
void softmax(const float* input, float* output, size_t len);
|
|
float softplus(float input);
|
|
float sigmoid(float input);
|
|
|
|
typedef struct ModelFrame {
|
|
Transform transform;
|
|
int transformed_width, transformed_height;
|
|
cl_mem transformed_y_cl, transformed_u_cl, transformed_v_cl;
|
|
LoadYUVState loadyuv;
|
|
cl_mem net_input;
|
|
size_t net_input_size;
|
|
} ModelFrame;
|
|
|
|
void frame_init(ModelFrame* frame, int width, int height,
|
|
cl_device_id device_id, cl_context context);
|
|
float *frame_prepare(ModelFrame* frame, cl_command_queue q,
|
|
cl_mem yuv_cl, int width, int height,
|
|
const mat3 &transform);
|
|
void frame_free(ModelFrame* frame);
|