hbVPPyrDown

typedef struct {
  int8_t levels;
  hbVPInterpolationType interpolation;
} hbVPPymParam;

Pym配置参数结构体。

  • 成员

    成员名称描述
    levels选择金字塔激活层数。
    interpolation选择金字塔的插值方式,支持 hbVPInterpolationType 中的GAUSSIAN和LINEAR类型。
int32_t hbVPPyrDown(hbUCPTaskHandle_t *taskHandle,
                    hbVPImage *dstImgs,
                    hbVPImage const *srcImg
                    hbVPPymParam const *pymCfg);
注解

在使用双线性金字塔时,输入图像的尺寸需满足[64, 4096]的范围限制,每一层的输出图像的尺寸需要满足[32, 4096]的范围限制。 在使用双线性金字塔处理10bit、12bit图像时,需注意10bit、12bit仅为y通道的像素宽度,uv通道仍为8bit。同时10bit、12bit的y数据需要以MSB的方式进行16bit存储,即一个像素占用两个字节空间。

调用PyrDown API。

  • 参数
    • [out] taskHandle 任务句柄,负责算子与UCP架构的交互。
    • [out] dstImgs 输出图像数组,每一层的type和format与输入图像一致,每一层的width和height分别为上一层图像的一半。取整策略为:高斯金字塔为向上取整,双线性金字塔为向下取整。
    • [in] srcImg 输入图像,type支持U8C1,高斯金字塔format支持Y和nv12;双线性金字塔format支持nv12、nv12_y10c8_msb和nv12_y12c8_msb,使用双线性金字塔进行10bit、12bit图像处理时,需要将图像的format设置为HB_VP_IMAGE_FORMAT_NV12_Y10C8_MSB或HB_VP_IMAGE_FORMAT_NV12_Y12C8_MSB,type设置为HB_VP_IMAGE_TYPE_U16C1进行处理。
    • [in] pymCfg 输入金字塔配置结构体,金字塔支持1到5层计算。J6B上HB_UCP_PYRAMID_CORE_0支持1到4层计算,HB_UCP_PYRAMID_CORE_1支持1到3层计算。
  • 返回值
    • 返回 0 则表示API成功执行,否则执行失败。