diff --git a/release/files_common b/release/files_common index ec54ac1ac5..f304f8526a 100644 --- a/release/files_common +++ b/release/files_common @@ -391,7 +391,7 @@ selfdrive/modeld/constants.py selfdrive/modeld/modeld selfdrive/modeld/dmonitoringmodeld -selfdrive/modeld/models/commonmodel.c +selfdrive/modeld/models/commonmodel.cc selfdrive/modeld/models/commonmodel.h selfdrive/modeld/models/driving.cc selfdrive/modeld/models/driving.h @@ -400,7 +400,8 @@ selfdrive/modeld/models/dmonitoring.h selfdrive/modeld/transforms/loadyuv.[c,h] selfdrive/modeld/transforms/loadyuv.cl -selfdrive/modeld/transforms/transform.[c,h] +selfdrive/modeld/transforms/transform.cc +selfdrive/modeld/transforms/transform.h selfdrive/modeld/transforms/transform.cl selfdrive/modeld/thneed/thneed.* diff --git a/selfdrive/common/mat.h b/selfdrive/common/mat.h index 1c20eae17f..626f3404fe 100644 --- a/selfdrive/common/mat.h +++ b/selfdrive/common/mat.h @@ -1,5 +1,4 @@ -#ifndef COMMON_MAT_H -#define COMMON_MAT_H +#pragma once typedef struct vec3 { float v[3]; @@ -17,7 +16,7 @@ typedef struct mat4 { float v[4*4]; } mat4; -static inline mat3 matmul3(const mat3 a, const mat3 b) { +static inline mat3 matmul3(const mat3 &a, const mat3 &b) { mat3 ret = {{0.0}}; for (int r=0; r<3; r++) { for (int c=0; c<3; c++) { @@ -31,7 +30,7 @@ static inline mat3 matmul3(const mat3 a, const mat3 b) { return ret; } -static inline vec3 matvecmul3(const mat3 a, const vec3 b) { +static inline vec3 matvecmul3(const mat3 &a, const vec3 &b) { vec3 ret = {{0.0}}; for (int r=0; r<3; r++) { for (int c=0; c<3; c++) { @@ -41,7 +40,7 @@ static inline vec3 matvecmul3(const mat3 a, const vec3 b) { return ret; } -static inline mat4 matmul(const mat4 a, const mat4 b) { +static inline mat4 matmul(const mat4 &a, const mat4 &b) { mat4 ret = {{0.0}}; for (int r=0; r<4; r++) { for (int c=0; c<4; c++) { @@ -55,7 +54,7 @@ static inline mat4 matmul(const mat4 a, const mat4 b) { return ret; } -static inline vec4 matvecmul(const mat4 a, const vec4 b) { +static inline vec4 matvecmul(const mat4 &a, const vec4 &b) { vec4 ret = {{0.0}}; for (int r=0; r<4; r++) { for (int c=0; c<4; c++) { @@ -67,7 +66,7 @@ static inline vec4 matvecmul(const mat4 a, const vec4 b) { // scales the input and output space of a transformation matrix // that assumes pixel-center origin. -static inline mat3 transform_scale_buffer(const mat3 in, float s) { +static inline mat3 transform_scale_buffer(const mat3 &in, float s) { // in_pt = ( transform(out_pt/s + 0.5) - 0.5) * s mat3 transform_out = {{ @@ -84,5 +83,3 @@ static inline mat3 transform_scale_buffer(const mat3 in, float s) { return matmul3(transform_in, matmul3(in, transform_out)); } - -#endif diff --git a/selfdrive/modeld/SConscript b/selfdrive/modeld/SConscript index 18f279bf78..15076e5c9d 100644 --- a/selfdrive/modeld/SConscript +++ b/selfdrive/modeld/SConscript @@ -6,10 +6,10 @@ libs = [cereal, messaging, common, 'OpenCL', 'SNPE', 'symphony-cpu', 'capnp', 'z TEST_THNEED = False common_src = [ - "models/commonmodel.c", + "models/commonmodel.cc", "runners/snpemodel.cc", "transforms/loadyuv.c", - "transforms/transform.c" + "transforms/transform.cc" ] if arch == "aarch64": diff --git a/selfdrive/modeld/models/commonmodel.c b/selfdrive/modeld/models/commonmodel.cc similarity index 100% rename from selfdrive/modeld/models/commonmodel.c rename to selfdrive/modeld/models/commonmodel.cc diff --git a/selfdrive/modeld/transforms/transform.c b/selfdrive/modeld/transforms/transform.cc similarity index 96% rename from selfdrive/modeld/transforms/transform.c rename to selfdrive/modeld/transforms/transform.cc index 0b4150ddb2..53e7fc488c 100644 --- a/selfdrive/modeld/transforms/transform.c +++ b/selfdrive/modeld/transforms/transform.cc @@ -99,14 +99,14 @@ void transform_queue(Transform* s, err = clSetKernelArg(s->krnl, 10, sizeof(cl_mem), &s->m_y_cl); assert(err == 0); - const size_t work_size_y[2] = {out_y_width, out_y_height}; + const size_t work_size_y[2] = {(size_t)out_y_width, (size_t)out_y_height}; err = clEnqueueNDRangeKernel(q, s->krnl, 2, NULL, (const size_t*)&work_size_y, NULL, 0, 0, NULL); assert(err == 0); - const size_t work_size_uv[2] = {out_uv_width, out_uv_height}; + const size_t work_size_uv[2] = {(size_t)out_uv_width, (size_t)out_uv_height}; err = clSetKernelArg(s->krnl, 1, sizeof(cl_int), &in_uv_width); assert(err == 0); diff --git a/selfdrive/modeld/visiontest.mk b/selfdrive/modeld/visiontest.mk index 494e00f81f..7bd3852dc8 100644 --- a/selfdrive/modeld/visiontest.mk +++ b/selfdrive/modeld/visiontest.mk @@ -48,7 +48,7 @@ endif all: visiontest libvisiontest_inputs := visiontest.c \ - transforms/transform.c \ + transforms/transform.cc \ transforms/loadyuv.c \ ../common/clutil.c \ $(BASEDIR)/selfdrive/common/util.c \