Picture Structure. Only BPU memory is supported.
Picture channel description: take HB_VP_IMAGE_FORMAT_RGB as an example, when the number of channels is 3, the imageType is HB_VP_IMAGE_TYPE_U8C3.
When the number of channels is 4, the data exists an extra memory due to alignment requirements, at this time it is necessary to specify the imageType as HB_VP_IMAGE_TYPE_U8C4 (RRR* GGG* BBB*).
Member
| Member Name | Description |
|---|---|
imageFormat | Picture format. |
imageType | Picture type. |
width | The pixel width of the picture. |
height | The pixel height of the picture. |
stride | The pixel offset of the picture, expressed as a number of bytes. |
dataVirAddr | The logical address of the picture on the arm side. |
dataPhyAddr | The physical address of the picture. |
uvVirAddr | The uv data logical address when the picture format is NV12. |
uvPhyAddr | The uv data physical address when the picture format is NV12. |
uvStride | The offset of the uv data when the picture format is NV12, expressed as the number of bytes. |
Offset description: stride is in the range [bytes_per_pixel * width, bytes_per_pixel * MAX_IMAGE_WIDTH] and satisfies the bytes_per_pixel alignment.
The bytes_per_pixel indicate the number of bytes per pixel, the size of which depends on the picture format imageFormat, width indicates the pixel width of the picture, MAX_IMAGE_WIDTH indicates the maximum width of the picture pixels.
When the picture format is NV12, uvStride ranges from [2*uv_width, MAX_IMAGE_WIDTH] and must be even. When using pyramid and gdc hardware, the values of stride and uvStride should be greater than the width and meet the 16-byte alignment requirement.