hi_vi_pipe_attr

Description

Defines the VI pipe attribute.

Prototype

typedef struct {
    hi_vi_pipe_bypass_mode pipe_bypass_mode;
    hi_bool               isp_bypass;
    hi_size               size;
    hi_pixel_format       pixel_format;
    hi_compress_mode      compress_mode;
    hi_data_bit_width      bit_width;
    hi_frame_rate_ctrl    frame_rate_ctrl;
    hi_u32                depth;
    hi_u32                reserved[10];
} hi_vi_pipe_attr;

Members

Member

Description

pipe_bypass_mode

Bypass mode of the VI pipe. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

isp_bypass

Whether to run ISP. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

  • HI_FALSE: The ISP is running properly.
  • HI_TRUE: The ISP does not run.

When raw data is input, this parameter must be set to HI_FALSE. When YUV data is input, this parameter can be set to HI_TRUE or HI_FALSE.

size

Width and height of the input image. Ensure that the width and height are the same as those configured in the attributes of the bound VI device or by calling hi_mpi_vi_set_pipe_pre_crop. The width and height must be the same as those configured in the ISP public attributes. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

Value range: [120, 16384].

pixel_format

Pixel format. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

For YUV images, only pipe 2 and pipe 3 are supported, and only HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422, HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420, and HI_PIXEL_FORMAT_YUV_400 output formats are supported.

For raw images, only the RGB Bayer format with the bit width of 8, 10, 12, or 14 is supported.

compress_mode

Data compression format. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

  • Only frame compression HI_COMPRESS_MODE_FRAME or line compression HI_COMPRESS_MODE_LINE is supported. When frame compression is enabled, the total number of pixels must be greater than or equal to 307200.
  • When the input data format is HI_PIXEL_FORMAT_RGB_BAYER_10BPP, HI_PIXEL_FORMAT_RGB_BAYER_12BPP, or HI_PIXEL_FORMAT_RGB_BAYER_14BPP, linear mode, WDR frame mode, and line mode all support HI_COMPRESS_MODE_LINE and HI_COMPRESS_MODE_FRAME. When the input data format is HI_PIXEL_FORMAT_RGB_BAYER_8BPP, compression is not supported. When the input data format is YUV, compression is not supported.

bit_width

Bit width of the input image. This member is valid only when the pixel format is YUV. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

frame_rate_ctrl

Frame rate control.

depth

Depth of the pipe queue. It is used to buffer the temporary data of the VI pipe and the input and output data of raw and YUV images. It is a static attribute. That is, it cannot be changed after it is set when the pipe is created.

The maximum queue depth that can be used by the temporary buffer is hi_vi_pipe_attr.depth - hi_vi_frame_dump_attr.depth.

Value range: [0, 16]

reserved

Reserved. To ensure compatibility in later versions, use the memset struct for resetting and initialization. Do not explicitly access the reserved field in the code.