hi_stitching_lut_param

typedef struct{
    hi_u32 src_pic_width;
    hi_u32 src_pic_height;
    hi_u32 dest_pic_width;
    hi_u32 dest_pic_height;
    hi_u32 lut_table_len;
    void *lut;
    hi_u32 mask_len;
    hi_u8 *mask;
    hi_u32 blend_table_len;
    hi_u8 *blend_table;
    hi_u32 reserved[8];
} hi_stitching_lut_param; 

Member

Description

src_pic_width

Width of the input image.

The widths of the four input images must be the same.

src_pic_height

Height of the input image.

The heights of the four input images must be the same.

dest_pic_width

Width of the output image.

dest_pic_height

Height of the output image.

lut_table_len

Memory size of the LUT table.

lut

Indicates the address of the LUT table.

The memory size may be large. If the malloc interface in the C standard library is directly used to allocate memory, the memory will be fragmented and the number of huge pages will be reduced. As a result, the input/output memory of each DVPP function cannot be allocated by using the hi_mpi_dvpp_malloc interface. Therefore, you are advised to use the hi_mpi_dvpp_malloc API to allocate memory for storing LUTs.

mask_len

Reserved The value is fixed at 0.

mask

Reserved Currently, the value is fixed to NULL.

blend_table_len

Memory size of the blend table.

  • Surround-view stitching: The value of blend_table_len is = dest_pic_height * dest_pic_width.
  • Surround-view stitching + transparent chassis: The value of blend_table_len is = dest_pic_height * dest_pic_width * (1+1/4+1/16+1/64+1/256+1/1024). There are six blend tables in total. Each table is obtained after the previous one is downsampled by the Gaussian pyramid. The width and height of each table are half of those of the previous one.

blend_table

Blend table address.

reserved

Reserved The value is fixed at 0.