mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-20 17:13:53 +08:00
* cleanup include path * continue * format includes * fix testraw.cc * remove include path from SConstruct * regroup * rebase master * almost done * apply review * rename FileReader.xx to filereader.xx * rename Unlogger.x->unlogger.x * rename FrameReader.xx -> framereader.xx * apply reviews * ui.h * continue * fix framebuffer.cc build error:mv util.h up * full path to msm_media_info * fix qcom2 camerad Co-authored-by: Comma Device <device@comma.ai>
38 lines
1004 B
C
38 lines
1004 B
C
#pragma once
|
|
|
|
#include <float.h>
|
|
#include <stdlib.h>
|
|
|
|
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
|
#ifdef __APPLE__
|
|
#include <OpenCL/cl.h>
|
|
#else
|
|
#include <CL/cl.h>
|
|
#endif
|
|
|
|
#include "selfdrive/common/mat.h"
|
|
#include "selfdrive/modeld/transforms/loadyuv.h"
|
|
#include "selfdrive/modeld/transforms/transform.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 width, height;
|
|
cl_mem y_cl, u_cl, 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);
|