5.6. Video Input - VIN

5.6.1. Module Description

  • The VIN module is part of the HBN framework, containing 4 MIPI RX and 4 SIF interfaces.

  • As a Vnode within the HBN framework, the VIN module can be connected with other Vnodes to form a Vflow.

  • For supported parameter specifications of VIN, please refer to the MIPI Basic Specifications section.

5.6.1.1. VIN Use Cases

VIN supports both Offline and Online connections to the ISP module, where the ISP module’s Pipeline is time-division multiplexed.

  • Offline Mode: Camera connects to ISP via VIN in Offline mode.

image-20250113-204225.png

  • Online Mode: Camera connects to ISP via VIN in Online mode.

image-20250113-204335.png

5.6.1.2. Scenario Recommendations

  • For single Camera Sensor scenarios: prefer Online mode for the connection from VIN to ISP; Offline mode is also supported.

  • For multi-camera Sensor scenarios: only Offline mode is supported for the connection from VIN to ISP.

Note: When an HDR sensor is connected, the VIN-ISP connection must use online mode. Since online mode exclusively occupies the ISP resource, only 1 stream is supported.

5.6.2. Reference Examples

  • Example code for VIN integration can be found in the sample_vin section.

5.6.3. API Reference

API Interface Interface Functionality
hbn_vnode_open Open vnode
hbn_vnode_close Close vnode
hbn_vnode_set_attr Set vnode attributes
hbn_vnode_set_ochn_attr Set output channel attributes of VIN vnode
hbn_vnode_get_ochn_attr Get output channel attributes of VIN vnode
hbn_vnode_set_ichn_attr Set input channel attributes of VIN vnode
hbn_vnode_get_ichn_attr Get input channel attributes of VIN vnode
hbn_vnode_set_ochn_buf_attr Set output buffer attributes of VIN vnode
hbn_vnode_start Start vnode
hbn_vnode_stop Stop vnode
hbn_vnode_getframe Retrieve frame data from vnode
hbn_vnode_sendframe Send frame data into vnode
hbn_vnode_releaseframe Release frame data

5.6.4. Interface Descriptions

5.6.4.1. hbn_vnode_open

【Function Declaration】

hobot_status hbn_vnode_open(hb_vnode_type vnode_type, uint32_t hw_id, int32_t ctx_id, hbn_vnode_handle_t *vnode_fd);

【Function Description】

Initialize the vnode, open the vnode device node, and return the vnode handle for this module.

【Parameter Description】

  • [IN] hb_vnode_type vnode_type: Type of vnode; for VIN, use HB_VIN

  • [IN] uint32_t hw_id: Hardware ID of the module; for VIN, hw_id is 0

  • [IN] int32_t ctx_id: Context ID of the module, a software concept. Can be specified explicitly or set to AUTO_ALLOC_ID, allowing the HBN framework to assign automatically

  • [OUT] hbn_vnode_handle_t *vnode_fd: Returns the vnode handle of the module

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.2. hbn_vnode_close

【Function Declaration】

void hbn_vnode_close(hbn_vnode_handle_t vnode_fd);

【Function Description】

Close the device node of the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

【Return Value】

None

【Notes】

Must be used in pair with hbn_vnode_open.

【Compatibility】

Hardware: X5

5.6.4.3. hbn_vnode_set_attr

【Function Declaration】

hobot_status hbn_vnode_set_attr(hbn_vnode_handle_t vnode_fd, void *attr);

【Function Description】

Set basic attributes of the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] void *attr: Pointer to the attribute structure of the module; for VIN, the structure is vin_attr_t

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.4. hbn_vnode_set_ochn_attr

【Function Declaration】

hobot_status hbn_vnode_set_ochn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, void *attr);

【Function Description】

Set output channel attributes of the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ochn_id: Output channel ID of the module

  • [IN] void *attr: Pointer to the output channel attribute structure; for VIN, the structure is vin_ochn_attr_t

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.5. hbn_vnode_get_ochn_attr

【Function Declaration】

hobot_status hbn_vnode_get_ochn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, void *attr);

【Function Description】

Get output channel attributes of the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ochn_id: Output channel ID of the module

  • [OUT] void *attr: Pointer to the output channel attribute structure; for VIN, the structure is vin_ochn_attr_t

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.6. hbn_vnode_set_ichn_attr

【Function Declaration】

hobot_status hbn_vnode_set_ichn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ichn_id, void *attr);

【Function Description】

Set input channel attributes of the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ichn_id: Input channel ID of the module

  • [IN] void *attr: Pointer to the input channel attribute structure; for VIN, the structure is vin_ichn_attr_t

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.7. hbn_vnode_get_ichn_attr

【Function Declaration】

hobot_status hbn_vnode_get_ichn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ichn_id, void *attr);

【Function Description】

Get input channel attributes of the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ichn_id: Input channel ID of the module; for VIN, the input channel is 0

  • [OUT] void *attr: Pointer to the input channel attribute structure; for VIN, the structure is vin_ichn_attr_t

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.8. hbn_vnode_set_ochn_buf_attr

【Function Declaration】

hobot_status hbn_vnode_set_ochn_buf_attr(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id,
                     hbn_buf_alloc_attr_t *alloc_attr);

【Function Description】

Set output channel buffer attributes, including the number of buffers and whether buffer addresses are contiguous.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ochn_id: Output channel ID of the module

  • [IN] hbn_buf_alloc_attr_t *alloc_attr: Buffer allocation attributes

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.9. hbn_vnode_start

【Function Declaration】

hobot_status hbn_vnode_start(hbn_vnode_handle_t vnode_fd);

【Function Description】

Start the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

【Return Value】

【Notes】

The module must be opened before starting.

【Compatibility】

Hardware: X5

5.6.4.10. hbn_vnode_stop

【Function Declaration】

hobot_status hbn_vnode_stop(hbn_vnode_handle_t vnode_fd);

【Function Description】

Stop the module.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.11. hbn_vnode_getframe

【Function Declaration】

hobot_status hbn_vnode_getframe(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, uint32_t millisecondTimeout,
                hbn_vnode_image_t *out_img);

【Function Description】

Retrieve image from the module’s output channel; this is a blocking interface.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ochn_id: Output channel ID of the module

  • [IN] uint32_t millisecondTimeout: Timeout duration in milliseconds

  • [OUT] hbn_vnode_image_t *out_img: Pointer to the output image buffer structure

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.12. hbn_vnode_sendframe

【Function Declaration】

hobot_status hbn_vnode_sendframe(hbn_vnode_handle_t vnode_fd, uint32_t ichn_id,
                 hbn_vnode_image_t *img);

【Function Description】

Send an image to the module’s input channel, triggering the module to process it. This is a blocking interface that waits for hardware processing to complete before returning, with a default timeout of 1 second.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ichn_id: Input channel ID of the module; for VIN, the input channel is 0

  • [IN] hbn_vnode_image_t *img: Pointer to the input image buffer

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.4.13. hbn_vnode_releaseframe

【Function Declaration】

hobot_status hbn_vnode_releaseframe(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, hbn_vnode_image_t *img);

【Function Description】

Release the image buffer, returning it to the specified output channel.

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: The vnode handle of the module

  • [IN] uint32_t ochn_id: Output channel ID of the module

  • [IN] hbn_vnode_image_t *img: Pointer to the image buffer structure

【Return Value】

【Notes】

None

【Compatibility】

Hardware: X5

5.6.5. Data Structures

5.6.5.1. vin_attr_t

Name Type Min Max Default Meaning Required
vin_node_attr vin_node_attr_t - - - VIN node attribute description Yes
vin_attr_ex vin_attr_ex_t - - - Enhanced VIN node attribute description Yes
vin_ochn_attr[] vin_ochn_attr_t - - - Output channel attribute description of VIN node Yes
vin_ichn_attr vin_ichn_attr_t - - - Input channel attribute description of VIN node Yes
vin_ochn_buff_attr[] vin_ochn_buff_attr_t - - - Output buffer attribute description of VIN node Yes

5.6.5.2. vin_node_attr_t

Name Type Min Max Default Meaning Required
cim_attr cim_attr_t - - - CIM/SIF attribute description Yes
lpwm_attr lpwm_attr_t - - - LPWM attribute description, used for multi-sensor synchronization No
vcon_attr vcon_attr_t - - - VCON attribute description No
flow_id uint32_t 0 - - Pipeline ID, optional No

5.6.5.3. cim_attr_t

Name Type Min Max Default Meaning Required
mipi_en uint32_t 0 1 0 Enable MIPI; reserved field, currently not required to configure No
mipi_rx uint32_t 0 4 0 mipi rx port number Yes
vc_index uint32_t 0 4 0 mipi virtual index Yes
ipi_channel uint32_t 1 2 0 ipi channel number, Yes
linear mode is 1,
hdr dol2 mode is 2
tpg_input cim_input_tpg_t - - - Reserved for future use No
func cim_func_desc_t - - - Advanced functions of cim/sif Yes

5.6.5.4. cim_func_desc_t

Name Type Min Max Default Description Required
enable_frame_id uint32_t 0 1 0 Enable frame id No
set_init_frame_id uint32_t 0 - 0 Initial value assignment for frame id No
time_stamp_en uint32_t - - - Enable timestamp No
time_stamp_mode uint32_t 1 8 - sif/cim timestamp latching type, select one of the following: No
0x01: latch tv at frame start
0x02: latch trig_tv at sensor exposure trigger
0x03: latch both tv and trig_tv, recommended
Others: reserved
ts_src uint32_t 0 12 0 Source that triggers sif to latch the timestamp No
0: trig_tv and tv timestamps disabled
1: LPWM0_CHN0 rising edge latches tv and trig_tv
2: LPWM0_CHN1 rising edge latches tv and trig_tv
3: LPWM0_CHN2 rising edge latches tv and trig_tv
4: LPWM0_CHN3 rising edge latches tv and trig_tv
5: LPWM1_CHN0 rising edge latches tv and trig_tv
6: LPWM1_CHN1 rising edge latches tv and trig_tv
7: LPWM1_CHN2 rising edge latches tv and trig_tv
8: LPWM1_CHN3 rising edge latches tv and trig_tv
9: ENET_PTP reserved, not to be used
10: SW reserved, not to be used
11: MCU reserved, not to be used
12: GPS reserved, not to be used
pps_src uint32_t - - - Reserved, not to be used No
enable_pattern uint32_t - - - Reserved, not to be used No
skip_frame cim_skip_type_e 0 4 0 Software skip frame mode, takes effect during pipeline initialization No
0 (CIM_DISABLE_SKIP): skip frame disabled
1 (CIM_IN_RATIO_SKIP): ratio-based skip frame, requires input_fps and output_fps
2 (CIM_FIRST_FRAMES_SKIP): discard the first N frames
3 (CIM_HW_SKIP): hardware skip frame
input_fps uint32_t 1 - 0 Input frame rate, i.e. actual sensor frame rate. Required when skip_frame = 1 No
output_fps uint32_t 1 - 0 Desired output frame rate, must be less than input_fps. Required when skip_frame = 1 No
Uses Bresenham algorithm to drop frames evenly in SIF DONE interrupt
Example: input_fps=30, output_fps=1 means keeping only 1 frame out of 30fps
skip_nums uint32_t - - - Reserved, not to be used No
hw_extract_m uint32_t - - - Reserved, not to be used No
hw_extract_n uint32_t - - - Reserved, not to be used No
hdr_mode enum hdr_mode 0 2 0 Set value as enum hdr_mode: Yes
0: No multi-frame synthesis required by SoC ISP
1: Two-frame synthesis required on SoC side
2: Three-frame synthesis required on SoC side (reserved, not supported by X5)

5.6.5.5. vin_attr_ex_t

Set VIN extended attributes via hbn_vnode_set_attr_ex, supporting both static configuration and runtime dynamic modification. Each call requires setting ex_attr_type to specify the operation type.

Name Type Min Max Default Description Required
ex_attr_type vin_attr_ex_type_e - - - extended attribute type, determines which field takes effect Yes
VIN_STATIC_CIM_ATTR (0): CIM static attributes
VIN_DYNAMIC_FPS_CTRL (2): runtime dynamic frame rate control
VIN_STATIC_MCLK_ATTR (7): MCLK frequency configuration
cim_static_attr cim_static_attr_t - - - CIM static attributes, effective when ex_attr_type = 0 No
fps_ctrl dynamic_fps_t - - - dynamic frame rate control, effective when ex_attr_type = 2 No
mclk_ex_attr mclk_attr_ex_t - - - MCLK extended attributes, effective when ex_attr_type = 7 No
vin_attr_ex_mask uint64_t - - 0 attribute mask during initialization, bit positions correspond to ex_attr_type enum values No

5.6.5.6. dynamic_fps_t

Runtime frame rate control structure, used with hbn_vnode_set_attr_ex and ex_attr_type = VIN_DYNAMIC_FPS_CTRL. Frame rate can be modified at any time while the pipeline is running, taking effect on the next frame immediately.

Name Type Min Max Default Description Required
skip_mode cim_skip_type_e 0 4 0 skip frame mode Yes
0 (CIM_DISABLE_SKIP): skip frame disabled, restore original sensor frame rate
1 (CIM_IN_RATIO_SKIP): ratio-based skip frame
in_fps uint32_t 1 - 0 input frame rate (actual sensor frame rate), required when skip_mode = 1 Yes
out_fps uint32_t 1 - 0 desired output frame rate, must be less than in_fps, required when skip_mode = 1 Yes
Uses Bresenham algorithm to drop frames evenly in SIF DONE interrupt
Example: in_fps=30, out_fps=10 means output 10fps

Usage example (static configuration - during pipeline initialization):

vin_node_attr_t vin_node_attr;
vin_node_attr.cim_attr.func.skip_frame = CIM_IN_RATIO_SKIP;  // 1
vin_node_attr.cim_attr.func.input_fps  = 30;   // actual sensor frame rate
vin_node_attr.cim_attr.func.output_fps = 10;   // desired output 10fps
hbn_vnode_set_attr(vin_node_handle, &vin_node_attr);

Usage example (dynamic modification - while pipeline is running):

vin_attr_ex_t vin_attr_ex = {0};
vin_attr_ex.ex_attr_type = VIN_DYNAMIC_FPS_CTRL;
vin_attr_ex.fps_ctrl.skip_mode = CIM_IN_RATIO_SKIP;  // ratio-based skip frame
vin_attr_ex.fps_ctrl.in_fps  = 30;   // actual sensor frame rate
vin_attr_ex.fps_ctrl.out_fps = 10;   // desired output 10fps
hbn_vnode_set_attr_ex(vin_node_handle, &vin_attr_ex);

// disable skip frame, restore original frame rate
vin_attr_ex.fps_ctrl.skip_mode = CIM_DISABLE_SKIP;
vin_attr_ex.fps_ctrl.in_fps  = 0;
vin_attr_ex.fps_ctrl.out_fps = 0;
hbn_vnode_set_attr_ex(vin_node_handle, &vin_attr_ex);

5.6.5.7. vin_ochn_attr_t

Name Type Min Max Default Description Required
ddr_en uint32_t 0 1 0 Whether data is written to DDR Yes
roi_en uint32_t - - - Reserved No
emb_en uint32_t - - - Reserved, whether sensor embedded data is written to DDR No
ochn_attr_type vin_ochn_attr_type_e - - - vin ochn attribute
VIN_BASIC_ATTR, // Default, basic vin attribute
VIN_EMB_ATTR, // sensor with emb output
Yes
vin_basic_attr vin_basic_attr_t - - - vin basic attribute, required for writing to DDR Yes
rawds_attr vin_rawds_attr_t - - - Reserved No
roi_attr vpm_commn_roi_data_desc - - - Reserved No
emb_attr vin_emb_attr_t - - - Reserved, required if emb is used No

5.6.5.8. vin_basic_attr_t

Name Type Min Max Default Description Required
pack_mode uint32_t - - - Reserved No
wstride uint32_t 0 - - Wide stride for cim/sif writing to DDR, aligned to 16 bytes. Yes
For sensor raw8: width, for raw10~raw16: 2*width
vstride uint32_t - - - Reserved No
format uint32_t - - - Must be set when writing to DDR Yes

5.6.5.9. vin_ichn_attr_t

Name Type Min Max Default Description Required
format uint32_t - - - vin format, sensor output format Yes
width uint32_t 0 8192 0 Sensor output resolution width in pixels Yes
height uint32_t 0 4096 0 Sensor output resolution height in pixels Yes

5.6.5.10. vin_ochn_buff_attr_t

Name Type Min Max Default Description Required
buffers_num uint32_t 0 - 0 Number of buffers for cim/sif writing to DDR, typically set to 6 Yes
flags int64_t - - - Typically set in code:
hbn_buf_alloc_attr_t.flags = HB_MEM_USAGE_CPU_READ_OFTEN OR
HB_MEM_USAGE_CPU_WRITE_OFTEN OR
HB_MEM_USAGE_CACHED
No

5.6.5.11. lpwm_attr_t

Name Type Min Max Default Description Required
enable uint32_t 0 - 0 Whether to enable LPWM No
lpwm_chn_attr_t lpwm_chn_attr[LPWM_CHN_NUM] - - - - LPWM channel attribute configuration
LPWM_CHN_NUM value is 4
No

5.6.5.12. lpwm_chn_attr_t

Name Type Min Max Default Description Required Output 30Hz, high level 10us parameters
trigger_source uint32_t 0 10 0 Trigger source selection
0-3: pad_trigger_in, hardware IO input PPS
4: enet_ptp_pps, reserved
5: sw_trigger_in, software trigger
6: gps_trigger_in (TIME_SYNC2), hardware IO input PPS
7: mcu_trigger_in (TIME_SYNC1), hardware IO input PPS
8: time_sync2_in (TIME_SYNC3), hardware IO input PPS
9: time_sync3_in (TIME_SYNC4), hardware IO input PPS
10: camera_1sec_pulse_out, reserved
Note: Refer to pinlist document for corresponding hardware IO pins.
No
trigger_mode uint32_t 0 1 0 Trigger mechanism (1 - external hardware trigger, 0 - internal software trigger) No
When trigger_mode is set to 0, it automatically uses software trigger and trigger_source can be left unselected
period uint32_t 2 us 1000000 us 0 Period, actual effective period is (period + 1)us No 33332
offset uint32_t 0 (1000000/period) us 0 After source triggers LPWM, LPWM outputs square wave after offset(us). No 11
Effective time: floor((1/24) * (offset * 24 + 3)) us
duty_time uint32_t 0 (4096/period) us 0 High-level active duration, actual effective time is (duty_time + 1)us No 9
threshold uint32_t 0 65535 us 0 Threshold for slow synchronization function No 0
adjust_step uint32_t 0 15 0 Adjustment step per iteration: adjust_time = 2 ^ adjust_step No 0

5.6.6. Return Value Description

Error Code Macro Definition Description Common Causes and Solutions
0 HBN_STATUS_SUCESS Success
1 HBN_STATUS_INVALID_NODE Invalid vnode, corresponding vnode not found
2 HBN_STATUS_INVALID_NODETYPE Invalid vnode type, corresponding vnode not found For VIN, vnode type should be HB_VIN
3 HBN_STATUS_INVALID_HWID Invalid hardware module ID For VIN, hw_id value is 0
4 HBN_STATUS_INVALID_CTXID Invalid context ID Can be set to AUTO_ALLOC_ID, automatically assigned by HBN framework
5 HBN_STATUS_INVALID_OCHNID Invalid output channel ID VIN output channel is 0
6 HBN_STATUS_INVALID_ICHNID Invalid input channel ID VIN supports only one input channel
7 HBN_STATUS_INVALID_FORMAT Invalid format
8 HBN_STATUS_INVALID_NULL_PTR Null pointer
9 HBN_STATUS_INVALID_PARAMETER Invalid parameter, version check failed
10 HBN_STATUS_ILLEGAL_ATTR Invalid parameter
11 HBN_STATUS_INVALID_FLOW Invalid flow, corresponding flow not found
12 HBN_STATUS_FLOW_EXIST Flow already exists
13 HBN_STATUS_FLOW_UNEXIST Flow does not exist
14 HBN_STATUS_NODE_EXIST Node already exists
15 HBN_STATUS_NODE_UNEXIST Node does not exist
16 HBN_STATUS_NOT_CONFIG Reserved
17 HBN_STATUS_CHN_NOT_ENABLED Channel not enabled
18 HBN_STATUS_CHN_ALREADY_ENABLED Channel already enabled
19 HBN_STATUS_ALREADY_BINDED Node already bound
20 HBN_STATUS_NOT_BINDED Node not bound
21 HBN_STATUS_TIMEOUT Timeout
22 HBN_STATUS_NOT_INITIALIZED Not initialized
23 HBN_STATUS_NOT_SUPPORT Channel not supported or not activated
24 HBN_STATUS_NOT_PERM Operation not allowed
25 HBN_STATUS_NOMEM Insufficient memory
26 HBN_STATUS_INVALID_VNODE_FD Invalid node file descriptor
27 HBN_STATUS_INVALID_ICHNID_FD Invalid input channel file descriptor
28 HBN_STATUS_INVALID_OCHNID_FD Invalid output channel file descriptor
29 HBN_STATUS_OPEN_OCHN_FAIL Failed to open output channel
30 HBN_STATUS_OPEN_ICHN_FAIL Failed to open input channel
31 HBN_STATUS_JSON_PARSE_FAIL JSON parsing failed
32 HBN_STATUS_REQ_BUF_FAIL Failed to request buffer
33 HBN_STATUS_QUERY_BUF_FAIL Failed to query buffer information
34 HBN_STATUS_SET_CONTROL_FAIL Failed to set module control or adjustment parameters (e.g., ISP effect parameters)
35 HBN_STATUS_GET_CONTROL_FAIL Failed to get module control or adjustment parameters (e.g., ISP effect parameters)
36 HBN_STATUS_NODE_START_FAIL Failed to start node
37 HBN_STATUS_NODE_STOP_FAIL Failed to stop node
38 HBN_STATUS_NODE_POLL_ERROR Node channel poll error
39 HBN_STATUS_NODE_POLL_TIMEOUT Node channel poll timeout
40 HBN_STATUS_NODE_POLL_FRAME_DROP Frame drop occurred during node channel poll
41 HBN_STATUS_NODE_POLL_HUP Descriptor hang-up during node channel poll
42 HBN_STATUS_NODE_ILLEGAL_EVENT Illegal event during node channel poll
43 HBN_STATUS_NODE_DEQUE_ERROR Error in dequeueing buffer from node channel
44 HBN_STATUS_ILLEGAL_BUF_INDEX Invalid buffer index
45 HBN_STATUS_NODE_QUE_ERROR Error in queueing buffer to node channel
46 HBN_STATUS_FLUSH_FRAME_ERROR Error in flushing frames from node channel
47 HBN_STATUS_INIT_BIND_ERROR Error occurred during JSON parsing and binding
48 HBN_STATUS_ADD_NODE_FAIL Failed to add node to flow
49 HBN_STATUS_WRONG_CONFIG_ID System does not support the node ID
50 HBN_STATUS_BIND_NODE_FAIL Error occurred when binding node to flow
51 HBN_STATUS_INVALID_VERSION Mismatch between underlying driver module and upper-layer library version numbers
52 HBN_STATUS_GET_VERSION_ERROR Error in getting underlying driver module version number
53 HBN_STATUS_MEM_INIT_FAIL hbmem memory initialization failed
54 HBN_STATUS_MEM_IMPORT_FAIL hbmem memory import failed
55 HBN_STATUS_MEM_FREE_FAIL hbmem memory release failed
56 HBN_STATUS_SYSFS_OPEN_FAIL System file open failed
57 HBN_STATUS_STRUCT_SIZE_NOT_MATCH HAL layer structure size does not match kernel layer
58 HBN_STATUS_RGN_UNEXIST Unable to retrieve corresponding rgn data
59 HBN_STATUS_RGN_INVALID_OPERATION Invalid rgn operation
60 HBN_STATUS_RGN_OPEN_FILE_FAIL Failed to open file in rgn module
128 HBN_STATUS_ERR_UNKNOW Unknown error