hbVPImage

typedef struct hbVPImage { uint8_t imageFormat; uint8_t imageType; int32_t width; int32_t height; int32_t stride; void *dataVirAddr; uint64_t dataPhyAddr; void *uvVirAddr; uint64_t uvPhyAddr; int32_t uvStride; } hbVPImage;

图片结构体。只支持使用BPU内存。

图像通道说明:以 HB_VP_IMAGE_FORMAT_RGB 为例,其通道数为3时,imageType为 HB_VP_IMAGE_TYPE_U8C3 ,当通道数为4时,由于对齐的要求,数据中存在额外的内存, 此时需要指定imageType为 HB_VP_IMAGE_TYPE_U8C4 (RRR* GGG* BBB*)。

  • 成员

    成员名称描述
    imageFormat图片格式。
    imageType图片类型。
    width图片的像素宽度。
    height图片的像素高度。
    stride图片的像素偏移量,以字节数量表示。
    dataVirAddr图片在arm侧的逻辑地址。
    dataPhyAddr图片的物理地址。
    uvVirAddr图片格式为NV12时,uv数据逻辑地址。
    uvPhyAddr图片格式为NV12时,uv数据物理地址。
    uvStride图片格式为NV12时,uv数据的偏移量,以字节数量表示。

偏移量说明:stride 范围在[bytes_per_pixel * widthbytes_per_pixel * MAX_IMAGE_WIDTH ],并且满足 bytes_per_pixel对齐, 其中 bytes_per_pixel 表示每个像素的字节数,其大小取决于图像格式 imageFormatwidth 表示图像的像素宽度,MAX_IMAGE_WIDTH 表示图像像素的最大宽度。 当图像格式为NV12时, uvStride 范围在[2*uv_widthMAX_IMAGE_WIDTH],并且必须为偶数。在使用pyramid和gdc硬件时,stride和uvStride的值需要在大于width的同时满足16字节对齐的要求。