Platform: Hailo-15H SBC 2.x, Hailo Media Library v1.7.0 (toolchain v1.10.1)
Connectivity: Using Ethernet connection between my laptop and the board
Sensor: IMX678, capturing at 3840×2160@30fps
Issue:
When configuring application_input_streams with a resolution of 3840×2160, the frontend silently delivers 1920×1080 buffers. No error is logged — the downscale happens without warning.
How I verified:
Added a debug print in dsp_stages.hpp before the DSP crop call to log the actual buffer dimensions received from the frontend:
hailo_dsp_buffer_data_t in_buffer_data = input_buffer->buffer_data->As<hailo_dsp_buffer_data_t>();
std::cout << "[DEBUG] DSP input buffer: width=" << in_buffer_data.properties.width
<< " height=" << in_buffer_data.properties.height << std::endl;
Output: [DEBUG] DSP input buffer: width=1920 height=1080
Config (daylight_profile.json):
"input_video": {
"resolution": { "width": 3840, "height": 2160, "framerate": 30 }
},
"application_input_streams": {
"method": "INTERPOLATION_TYPE_BILINEAR",
"format": "IMAGE_FORMAT_NV12",
"resolutions": [
{ "width": 854, "height": 480, "framerate": 30, "pool_max_buffers": 40 },
{ "width": 1280, "height": 720, "framerate": 30, "pool_max_buffers": 14 },
{ "width": 3840, "height": 2160, "framerate": 30, "pool_max_buffers": 20 }
]
}
The third stream (sink2, used for AI inference) is configured at 3840×2160 but the actual buffer delivered is 1920×1080.
Context / why this matters:
I’m running a YOLOv8 tiling pipeline (adapted the ai_camera_apps on branch v1.7.0: hailo-camera-apps/apps/h15/native/ai_example_app at 1.7.0 · hailo-ai/hailo-camera-apps · GitHub to utilise YOLOv8 instead of YOLOv5) for small object detection. Tiles are cropped from the application_input_stream via dsp_utils::perform_dsp_multi_resize(). With the stream capped at 1080p, each 640×640 tile covers a larger portion of the frame, reducing effective resolution for small objects. I’d like to crop directly from the 4K buffer to maximize detection quality. I hope to minimise latency and maximise throughput while ensuring small object detection is reliable.
Questions:
-
Is there a maximum resolution for
application_input_streamson the Hailo-15H? Is 1920×1080 a hardware limit of the ISP multi-resize output, or configurable? -
If limited per-stream, is there a total bandwidth budget across all streams? Would removing sink0/sink1 allow sink2 to output at 4K?
-
Is there an alternative path to get 4K buffers into the DSP for cropping (e.g., tapping into the ISP output before the multi-resize stage)?
Continuation of forum:
- I have also raised this point on solidrun’s forums: Hailo-15H application_input_stream silently capped at 1920×1080 — is this a hardware limit? - SolidRun Forums
Thank you!