更新时间:2021-03-18 GMT+08:00
分享

VPC参数说明

入参:VpcUserImageConfigure

表1 入参VpcUserImageConfigure

成员变量

说明

取值范围

uint8_t* bareDataAddr

非压缩格式输入图片地址,当图像为压缩格式时,不需要填,默认为NULL。

使用Matrix提供的HIAI_DVPP_DMalloc接口申请内存,申请到的内存满足DVPP的要求(首地址16对齐)。HIAI_DVPP_DMalloc接口的说明,请参见《 Matrix API参考》

-

uint32_t bareDataBufferSize

非压缩格式输入图片内存大小,其中大小是根据图像的宽高stride计算出来的,bareDataAddr指向内存大小应该等于bareDataBufferSize,当图像为压缩格式时,不需要填,默认为0。

非压缩格式,对于不同图像格式,内存大小的计算公式如下:

  • yuv400sp、yuv420sp:widthStride*heightStride*3/2
  • yuv422sp:widthStride*heightStride*2
  • yuv444sp:widthStride*heightStride*3
  • yuv422packed:widthStride*heightStride
  • yuv444packed、rgb888:widthStride*heightStride
  • xrgb8888:widthStride*heightStride

uint32_t widthStride

图像宽度方向的步长。

宽stride最小为32,最大为4096 * 4(即宽是4096的argb格式的图像)。

对于8K缩放,要求宽stride对齐到2;对于非8K缩放,对于不同图像格式,widthStride的计算公式不同:

  • yuv400sp、yuv420sp、yuv422sp、yuv444sp:输入图像的宽对齐到16。
  • YUV422packed:输入图像的宽对齐到16后,再乘以2(宽16对齐,每个像素占2个字节)。
  • YUV444packed、RGB888:输入图像的宽对齐到16,再乘以3(宽16对齐,每个像素占3个字节)。
  • XRGB8888:输入图像的宽对齐到16后,再乘以4(宽16对齐,每个像素占4个字节)。
  • HFBC格式:输入图像的宽。

uint32_t heightStride

图像高度方向的步长,对于yuv sp图像根据该参数计算uv数据的起始地址。

取值为:输入图像的高对齐到2。高stride最小为6,最大为4096。

enum VpcInputFormat inputFormat

输入图像格式。

enum VpcInputFormat {

INPUT_YUV400, // 0

INPUT_YUV420_SEMI_PLANNER_UV, // 1

INPUT_YUV420_SEMI_PLANNER_VU, // 2

INPUT_YUV422_SEMI_PLANNER_UV, // 3

INPUT_YUV422_SEMI_PLANNER_VU, // 4

INPUT_YUV444_SEMI_PLANNER_UV, // 5

INPUT_YUV444_SEMI_PLANNER_VU, // 6

INPUT_YUV422_PACKED_YUYV, // 7

INPUT_YUV422_PACKED_UYVY, // 8

INPUT_YUV422_PACKED_YVYU, // 9

INPUT_YUV422_PACKED_VYUY, // 10

INPUT_YUV444_PACKED_YUV, // 11

INPUT_RGB, // 12,输入图像格式为RGB888

INPUT_BGR, // 13,输入图像格式为BGR888

INPUT_ARGB, // 14,此格式的输入图像在存储时各分量的排列顺序类似RGB888,其中,A表示透明度

INPUT_ABGR, // 15,此格式的输入图像在存储时各分量的排列顺序类似BGR888,其中,A表示透明度

INPUT_RGBA, // 16,此格式的输入图像在存储时各分量的排列顺序类似RGB888,其中,A表示透明度

INPUT_BGRA, // 17,此格式的输入图像在存储时各分量的排列顺序类似BGR888,其中,A表示透明度

INPUT_YUV420_SEMI_PLANNER_UV_10BIT, // 18

INPUT_YUV420_SEMI_PLANNER_VU_10BIT, // 19

};

enum VpcOutputFormat outputFormat

输出图像格式。

enum VpcOutputFormat {

OUTPUT_YUV420SP_UV,

OUTPUT_YUV420SP_VU

};

VpcUserRoiConfigure* roiConfigure

抠图区域配置,详细请参见•VpcUserRoiConfigure结构体

-

bool isCompressData

是否是视频解码输出的HFBC压缩图片数据格式。

当图片来源于VDEC时,需要配置为true,其他格式为false,默认为false。

单图裁剪缩放和一图多框裁剪缩放均支持HFBC压缩格式。

VpcCompressDataConfigure compressDataConfigure

视频解码输出的HFBC压缩图片数据配置。详细请参见•VpcCompressDataConfigur...

-

bool yuvSumEnable

是否需要计算yuvSum值,当需要计算该值时只支持一图一框。

当需要计算yuvSum值时配置true,其他为false,默认为false。

统计yuvSum值的约束条件:

1,输入图像分辨率小于等于4096*4096

2,贴图区域起始点是(0,0)位置

3,输入只有一图一框

VpcUserYuvSum yuvSum

yuvSum计算配置。详细请参见•VpcUserYuvSum结构体

-

VpcUserPerformanceTuningParameter tuningParameter

预留参数,用于参数调优,详细请参见•VpcUserPerformanceTunin...

-

uint32_t* cmdListBufferAddr

预留参数。

-

uint32_t cmdListBufferSize

预留参数。

-

uint64_t yuvScalerParaSetAddr

预留参数,滤波参数集文件路径地址和文件名数组。

说明:
  • 参数集须在Device设备上。
  • 请确保传入的文件路径是正确路径。

参数集文件路径为device侧的绝对文件路径+文件名,如{"/root/share/vpc/YUVScaler_pra.h"}

uint16_t yuvScalerParaSetSize

预留参数,滤波参数集地址指向的参数集数组元素个数(默认为1)。

1<=yuvscaler_paraset_size<=10

uint16_t yuvScalerParaSetIndex

预留参数,yuvScalerParaSetIndex变量对应yuvScalerParaSetAddr的索引(默认为0)。

0<=yuvScalerParaSetIndex<10

uint8_t isUseMultiCoreAccelerate

预留参数。

-

uint8_t reserve1

预留参数。

-

uint16_t reserve2;

预留参数。

-

出参说明

暂无出参。

分享:

    相关文档

    相关产品