我启动NvBufSurfTransform将19201536的YUYV图片转换成19201536的NV12格式,只要启动VIC硬件,通过jtop查看就是占用101M GPU MEM。这个符合预期吗?
如果符合预期方便解释一下100M 内存是用来干什么用的吗?
如果不符合预期,那理论值应该是多少?
我的代码如下:
NvBufSurfTransformParams nvTransformParams;
NvBufSurfTransformRect srcRect,dstRect;
srcRect.left = transformParams.src_left;
srcRect.top = transformParams.src_top;
srcRect.width = transformParams.src_width;
srcRect.height = transformParams.src_height;
dstRect.left = transformParams.dst_left;
dstRect.top = transformParams.dst_top;
dstRect.width = transformParams.dst_width;
dstRect.height = transformParams.dst_height;
memset(&nvTransformParams,0,sizeof(nvTransformParams));
nvTransformParams.transform_flag = NVBUFSURF_TRANSFORM_FILTER;
nvTransformParams.transform_flip = NvBufSurfTransform_None;
nvTransformParams.transform_filter = NvBufSurfTransformInter_Nearest;
nvTransformParams.src_rect = &srcRect;
nvTransformParams.dst_rect = &dstRect;
NvBufSurface *nvSrcBuffer = static_cast<NvBufferObj*>(srcBuffer)->GetNvBufSurface();
NvBufSurface *nvDesBuffer = static_cast<NvBufferObj*>(desBuffer)->GetNvBufSurface();
auto ret = NvBufSurfTransform (nvSrcBuffer, nvDesBuffer, &nvTransformParams);
if (ret != NvBufSurfTransformError_Success) {
LOG_ERR("NvBufSurfaceTransform failed %d", ret);
return HAL_STATUS_ERROR;
}