Files
sunnypilot/selfdrive/common/visionimg.h
George Hotz b846f88ade Support scons build on Mac (#1034)
* fix clock and add Darwin sconstruct

* it builds, this changes should be simplifications too

* fix boardd build

* that's the real type of EGLClientBuffer

* remove extra lines

* ui needs opencl on phone

old-commit-hash: f72f78f2b9
2020-02-01 23:36:50 -08:00

42 lines
866 B
C

#ifndef VISIONIMG_H
#define VISIONIMG_H
#include "common/visionbuf.h"
#include "common/glutil.h"
#ifdef QCOM
#include <EGL/egl.h>
#include <EGL/eglext.h>
#undef Status
#else
typedef int EGLImageKHR;
typedef void *EGLClientBuffer;
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define VISIONIMG_FORMAT_RGB24 1
typedef struct VisionImg {
int fd;
int format;
int width, height, stride;
int bpp;
size_t size;
} VisionImg;
void visionimg_compute_aligned_width_and_height(int width, int height, int *aligned_w, int *aligned_h);
VisionImg visionimg_alloc_rgb24(int width, int height, VisionBuf *out_buf);
EGLClientBuffer visionimg_to_egl(const VisionImg *img, void **pph);
GLuint visionimg_to_gl(const VisionImg *img, EGLImageKHR *pkhr, void **pph);
void visionimg_destroy_gl(EGLImageKHR khr, void *ph);
#ifdef __cplusplus
} // extern "C"
#endif
#endif