Tool/software:
Dear Ti support,
Recently I'm trying to port our sensor to edgeai-tiovx-apps on AM62A. The major modifications are as follows:
In input_block.c, new case is added for our sensor.
else if (0 == strcmp("ox03c",input_info->sensor_name)) { sprintf(sensor_name, "SENSOR_OX3C"); format_pixel_container = TIVX_RAW_IMAGE_16_BIT; format_msb = 11; v4l2_pix_format = V4L2_PIX_FMT_SBGGR12; output_width = 1920; output_height = 1280; }
In tiovx_sensor_module.c, again new case for the sensor.
else if(strcmp(sensorObj->sensor_name, "SENSOR_OX3C") == 0) { sensorObj->sensorParams.dccId=233; }
Somehow when running the following script, the output didn't show any error while there is no output in the screen:
The yaml in use is as follows:
title: ox03c Camera inputs: input0: source: LINUX_CAM width: 1920 height: 1280 sensor-name: ox03c device: /dev/video3 subdev: /dev/v4l-subdev2 ldc: False models: model0: model_path: /opt/model_zoo/TFL-CL-0000-mobileNetV1-mlperf topN: 5 model1: model_path: /opt/model_zoo/ONR-OD-8200-yolox-nano-lite-mmdet-coco-416x416 viz-threshold: 0.6 model2: model_path: /opt/model_zoo/ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512 alpha: 0.6 outputs: output0: sink: LINUX_DISPLAY width: 1920 height: 1080 output1: sink: H264_ENCODE width: 1920 height: 1088 output_path: /opt/edgeai-test-data/output/output_video1.h264 output2: sink: IMG_DIR width: 1280 height: 720 output_path: /opt/edgeai-test-data/output/ flows: flow0: pipeline: [input0,null,output0] mosaic: - [0,0,1280,720]
and the app printed these:
I've also tried the image input, whether outputing in the screen or generating files, it works just fine.
title: Image Classification inputs: input0: source: RAW_IMG width: 1280 height: 720 format: NV12 image_path: /opt/edgeai-test-data/raw_images/tiovx_apps/ models: model0: model_path: /opt/model_zoo/TFL-CL-0000-mobileNetV1-mlperf topN: 5 model1: model_path: /opt/model_zoo/ONR-CL-6360-regNetx-200mf topN: 5 outputs: output0: sink: LINUX_DISPLAY width: 1920 height: 1080 output1: sink: H264_ENCODE width: 1920 height: 1088 output_path: /opt/edgeai-test-data/output/output_video0.h264 output2: sink: IMG_DIR width: 1280 height: 720 output_path: /opt/edgeai-test-data/output/ flows: flow0: pipeline: [input0,null,output2] mosaic: - [0,0,1280,720]
I think the major problem is from the sensor related configurations, as the above configuration can utilize the LINUX_DISPLAY correctly. So I compared related configurations in both gsttiovxisp.c and edgeai-tiovx-apps. The problem here is that there are so many different struct definitions, making it hard to pin-point the differences in the initialization and configuration process. Would you please give me some hint about what to pay attention to?
BTW, the gstreamer pipeline works fine so there shouldn't be anything wrong with the sensor.
Regards,
Huang Jingjie