Skip to content

Commit 7b1e4a8

Browse files
committed
adaptation rockchip image
1 parent 46919f7 commit 7b1e4a8

File tree

12 files changed

+60
-29
lines changed

12 files changed

+60
-29
lines changed

CMake/FindROCKCHIP.cmake

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,41 @@ else()
99
endif()
1010

1111
find_path(ROCKCHIP_RGA_INCLUDE NAMES im2d.h rga.h
12-
HINTS ${HINTS_ROCKCHIP_PATH}/rk-rga/include)
12+
HINTS ${HINTS_ROCKCHIP_PATH}/rga/include)
1313
mark_as_advanced(ROCKCHIP_RGA_INCLUDE)
1414

1515
find_path(ROCKCHIP_MPP_INCLUDE NAMES rk_mpi.h rk_type.h
16-
HINTS ${HINTS_ROCKCHIP_PATH}/rkmpp/include/rockchip)
16+
HINTS ${HINTS_ROCKCHIP_PATH}/rkmpp/include)
1717
mark_as_advanced(ROCKCHIP_MPP_INCLUDE)
1818

19-
find_path(RKNN_INCLUDE NAMES rknn_api.h
20-
HINTS ${HINTS_ROCKCHIP_PATH}/rknn/include)
21-
mark_as_advanced(RKNN_INCLUDE)
19+
find_path(RKNPU_INCLUDE NAMES rknn_api.h
20+
HINTS ${HINTS_ROCKCHIP_PATH}/rknpu/rknn-api/librknn_api/include)
21+
mark_as_advanced(RKNPU_INCLUDE)
2222

23-
find_path(RKNPU2_INCLUDE NAMES rknn_api.h
24-
HINTS ${HINTS_ROCKCHIP_PATH}/rknnrt/include)
25-
mark_as_advanced(RKNPU2_INCLUDE)
23+
find_library(RKNPU_LIBRARY NAMES rknn_api HINTS ${HINTS_ROCKCHIP_PATH}/rknpu/rknn-api/librknn_api/Linux/lib64/)
24+
mark_as_advanced(RKNPU_LIBRARY)
2625

27-
find_library(RKNN_LIBRARY NAMES rknn_api HINTS ${HINTS_ROCKCHIP_PATH}/rknn/lib)
28-
mark_as_advanced(RKNN_LIBRARY)
26+
if(EXISTS ${HINTS_ROCKCHIP_PATH}/rknpu2/runtime/RK3588)
27+
find_path(RKNPU2_INCLUDE NAMES rknn_api.h
28+
HINTS ${HINTS_ROCKCHIP_PATH}/rknpu2/runtime/RK3588/Linux/librknn_api/include)
29+
mark_as_advanced(RKNPU2_INCLUDE)
2930

30-
find_library(RKNPU2_LIBRARY NAMES rknnrt HINTS ${HINTS_ROCKCHIP_PATH}/rknnrt/lib)
31-
mark_as_advanced(RKNPU2_LIBRARY)
31+
find_library(RKNPU2_LIBRARY NAMES rknnrt HINTS ${HINTS_ROCKCHIP_PATH}/rknpu2/runtime/RK3588/Linux/librknn_api/aarch64)
32+
mark_as_advanced(RKNPU2_LIBRARY)
33+
message(STATUS "rk3588 platform")
34+
elseif(EXISTS ${HINTS_ROCKCHIP_PATH}/rknpu2/runtime/RK356X)
35+
find_path(RKNPU2_INCLUDE NAMES rknn_api.h
36+
HINTS ${HINTS_ROCKCHIP_PATH}/rknpu2/runtime/RK356X/Linux/librknn_api/include)
37+
mark_as_advanced(RKNPU2_INCLUDE)
3238

33-
find_library(RKRGA_LIBRARY NAMES rga HINTS ${HINTS_ROCKCHIP_PATH}/rk-rga/lib)
39+
find_library(RKNPU2_LIBRARY NAMES rknnrt HINTS ${HINTS_ROCKCHIP_PATH}/rknpu2/runtime/RK356X/Linux/librknn_api/aarch64)
40+
mark_as_advanced(RKNPU2_LIBRARY)
41+
message(STATUS "rk356x platform")
42+
else()
43+
message(STATUS "other platform")
44+
endif()
45+
46+
find_library(RKRGA_LIBRARY NAMES rga HINTS ${HINTS_ROCKCHIP_PATH}/rga/libs/Linux/gcc-aarch64)
3447
mark_as_advanced(RKRGA_LIBRARY)
3548

3649
find_library(RKMPP_LIBRARY NAMES rockchip_mpp HINTS ${HINTS_ROCKCHIP_PATH}/rkmpp/lib)
@@ -42,8 +55,8 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(ROCKCHIP
4255
VERSION_VAR ROCKCHIP_VERSION_STRING)
4356

4457
if(ROCKCHIP_FOUND)
45-
set(RKNN_LIBRARIES ${RKNN_LIBRARY})
46-
set(RKNN_INCLUDE_DIR ${RKNN_INCLUDE})
58+
set(RKNPU_LIBRARIES ${RKNPU_LIBRARY})
59+
set(RKNPU_INCLUDE_DIR ${RKNPU_INCLUDE})
4760
set(RKNPU2_INCLUDE_DIR ${RKNPU2_INCLUDE})
4861
set(RKNPU2_LIBRARIES ${RKNPU2_LIBRARY})
4962
set(RKRGA_LIBRARIES ${RKRGA_LIBRARY})

docker/Dockerfile.rknnrt.build.ubuntu

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; \
5959
systemctl enable ssh
6060

6161
RUN echo "/usr/local/rockchip/rga/libs/Linux/gcc-aarch64" >> /etc/ld.so.conf.d/rockchip.conf && \
62-
echo "/usr/local/rockchip/rknpu/rknn/rknn_api/librknn_api/lib64" >> /etc/ld.so.conf.d/rockchip.conf && \
6362
if [ -d /usr/local/rockchip/rknpu2/runtime/RK356X ]; then echo "/usr/local/rockchip/rknpu2/runtime/RK356X/Linux/librknn_api/aarch64" >> /etc/ld.so.conf.d/rockchip.conf; elif [ -d /usr/local/rockchip/rknpu2/runtime/RK3588 ]; then echo "/usr/local/rockchip/rknpu2/runtime/RK3588/Linux/librknn_api/aarch64" >> /etc/ld.so.conf.d/rockchip.conf; fi && \
6463
echo "/usr/local/rockchip/rkmpp/lib" >> /etc/ld.so.conf.d/rockchip.conf
6564

src/drivers/devices/rockchip/core/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ include_directories(${LIBMODELBOX_INCLUDE})
2929
include_directories(${LIBMODELBOX_BASE_INCLUDE})
3030
include_directories(${LIBMODELBOX_DEVICE_ROCKCHIP_INCLUDE})
3131
include_directories(${ROCKCHIP_MPP_INCLUDE})
32-
include_directories(${RKNN_INCLUDE_DIR})
32+
include_directories(${RKNPU_INCLUDE_DIR})
3333
include_directories(${ROCKCHIP_RGA_INCLUDE})
3434

3535
set(HEADER

src/drivers/devices/rockchip/core/rockchip_api.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,16 @@ Status CopyNVMemory(uint8_t *psrc, uint8_t *pdst, int w, int h, int ws,
119119

120120
Status CopyRGBMemory(uint8_t *psrc, uint8_t *pdst, int w, int h, int ws,
121121
int hs) {
122+
if (psrc == nullptr) {
123+
MBLOG_ERROR << "psrc is nullptr";
124+
return {STATUS_FAULT, "psrc is nullptr"};
125+
}
126+
127+
if (pdst == nullptr) {
128+
MBLOG_ERROR << "pdst is nullptr";
129+
return {STATUS_FAULT, "pdst is nullptr"};
130+
}
131+
122132
uint8_t *rgbsrc = psrc;
123133
uint8_t *rgbdst = pdst;
124134

src/drivers/devices/rockchip/flowunit/crop/crop_flowunit.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ MODELBOX_FLOWUNIT(RockchipCropFlowUnit, rk_crop_desc) {
161161
rk_crop_desc.AddFlowUnitInput({IN_REGION, "cpu"});
162162
rk_crop_desc.AddFlowUnitOutput({OUT_IMG, modelbox::DEVICE_TYPE});
163163
rk_crop_desc.SetFlowType(modelbox::NORMAL);
164-
rk_crop_desc.SetInputContiguous(false);
165164
rk_crop_desc.SetDescription(FLOWUNIT_DESC);
166165
}
167166

src/drivers/devices/rockchip/flowunit/image_decoder/image_decoder.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@ MODELBOX_FLOWUNIT(ImageDecoderFlowUnit, rk_imgdec_desc) {
227227
"the output pixel format"));
228228

229229
rk_imgdec_desc.SetFlowType(modelbox::NORMAL);
230-
rk_imgdec_desc.SetInputContiguous(false);
231230
rk_imgdec_desc.SetDescription(FLOWUNIT_DESC);
232231
}
233232

src/drivers/devices/rockchip/flowunit/inference_rknpu2/rknpu2_inference.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,9 @@ modelbox::Status modelbox::RKNPU2Inference::Init(
152152
return {modelbox::STATUS_FAULT, "query input_output error"};
153153
}
154154

155+
MBLOG_INFO << "model input num: " << rknpu2_io_num.n_input
156+
<< ", output num: " << rknpu2_io_num.n_output << std::endl;
157+
155158
if (npu2model_input_list_.size() != rknpu2_io_num.n_input ||
156159
npu2model_output_list_.size() != rknpu2_io_num.n_output) {
157160
MBLOG_ERROR << "model input output num mismatch: input num in graph is "
@@ -285,9 +288,10 @@ size_t modelbox::RKNPU2Inference::GetInputBuffer(
285288
input_params->in_width_ = in_image->GetBytes();
286289
}
287290

288-
if (input_buf_list->GetDevice()->GetType() == "rknpu") {
291+
if (input_buf_list->GetDevice()->GetType() == "rockchip") {
289292
return CopyFromAlignMemory(input_buf_list, input_buf, input_params);
290293
}
294+
291295
input_buf.reset((uint8_t *)input_buf_list->ConstData(), [](uint8_t *p) {});
292296
return input_buf_list->GetBytes();
293297
}
@@ -326,6 +330,7 @@ modelbox::Status modelbox::RKNPU2Inference::Infer(
326330
<< " " << inputs_size_[i];
327331
return modelbox::STATUS_FAULT;
328332
}
333+
329334
one_input.pass_through = false;
330335
one_input.type = (rknn_tensor_type)inputs_type_[i];
331336
one_input.fmt = RKNN_TENSOR_NHWC;

src/drivers/devices/rockchip/flowunit/inference_rknpu2/rknpu2_inference_flowunit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
#include "rknpu2_inference.h"
2828

29-
constexpr const char *RKNPU2_FLOWUNIT_TYPE = "rknpu2";
29+
constexpr const char *RKNPU2_FLOWUNIT_TYPE = "rockchip";
3030
constexpr const char *RKNPU2_INFERENCE_TYPE = "rknpu2";
3131

3232
class RKNPU2InferenceFlowUnit : public modelbox::FlowUnit {

src/drivers/devices/rockchip/flowunit/local_camera/local_camera_flowunit.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,6 @@ class RockChipLocalCameraFlowUnit : public modelbox::FlowUnit {
6868
MppFrame SetMppFrameInfo(size_t w, size_t h, MppFrameFormat fmt,
6969
MppBuffer mpp_buf);
7070

71-
MppFrame SetMppFrameInfo(size_t w, size_t h, MppFrameFormat fmt,
72-
MppBuffer mpp_buf);
73-
7471
uint32_t camWidth_{0};
7572
uint32_t camHeight_{0};
7673
uint32_t camera_id_{0};

src/drivers/devices/rockchip/flowunit/resize/resize_flowunit.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@ MODELBOX_FLOWUNIT(ResizeFlowUnit, rk_resize_desc) {
135135
rk_resize_desc.AddFlowUnitInput({IN_IMG});
136136
rk_resize_desc.AddFlowUnitOutput({OUT_IMG});
137137
rk_resize_desc.SetFlowType(modelbox::NORMAL);
138-
rk_resize_desc.SetInputContiguous(false);
139138
rk_resize_desc.SetDescription(FLOWUNIT_DESC);
140139
rk_resize_desc.AddFlowUnitOption(modelbox::FlowUnitOption(
141140
"image_width", "int", true, "0", "the resize width"));

0 commit comments

Comments
 (0)