Toybrick

RGA缩放内存分配报错,请帮助分析一下原因

wudiking

中级会员

积分
353
发表于 2022-9-27 08:33:23    查看: 418|回复: 2 | [复制链接]    打印 | 显示全部楼层
resize with RGA!
RgaBlit(1465) RGA_BLIT fail: 无法分配内存
RgaBlit(1466) RGA_BLIT fail: 无法分配内存
fd-vir-phy-hnd-format[0, 0x55c052a000, (nil), 0, 0]
rect[0, 0, 1280, 720, 1280, 720, 512, 0]
f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]
fd-vir-phy-hnd-format[0, 0x55c07cd280, (nil), 0, 0]
rect[0, 0, 640, 640, 640, 640, 512, 0]
f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]
This output the user patamaters when rga call blit fail
srect[x,y,w,h] = [0, 0, 0, 0] src[w,h,ws,hs] = [1280, 720, 1280, 720]

drect[x,y,w,h] = [0, 0, 0, 0] dst[w,h,ws,hs] = [640, 640, 640, 640]

usage[0x80000]


回复

使用道具 举报

jefferyzhang

论坛元老

积分
10931
发表于 2022-9-27 09:22:02 | 显示全部楼层
请自行分配好内存再传给RGA处理
回复

使用道具 举报

wudiking

中级会员

积分
353
 楼主| 发表于 2022-9-27 10:37:15 | 显示全部楼层
本帖最后由 wudiking 于 2022-9-27 11:21 编辑
jefferyzhang 发表于 2022-9-27 09:22
请自行分配好内存再传给RGA处理

是自己分配好的
   
    resize_buf = malloc(height * width * channel);
   
    src = wrapbuffer_virtualaddr((void*)img.data, img_width, img_height, RK_FORMAT_RGB_888);
    dst = wrapbuffer_virtualaddr((void*)resize_buf, width, height, RK_FORMAT_RGB_888);
    ret = imcheck(src, dst, src_rect, dst_rect);
    if (IM_STATUS_NOERROR != ret) {
      printf("%d, check error! %s", __LINE__, imStrError((IM_STATUS)ret));
      return -1;
    }
    IM_STATUS STATUS = imresize(src, dst);


dmesg报错如下
[ 3719.363072] rga_dma_buf: rga_iommu_dma_alloc_iova failed
[ 3719.363085] rga_dma_buf: src0 channel viraddr get info error!
[ 3719.363121] rga_job: dma buf get failed
[ 3719.363131] rga_job: some error on rga_job_run before hw start, rga_job_next(343)
[ 3719.363145] rga_job: some error on job, rga_job_commit(750)
[ 3719.363152] rga: rga_job_commit failed


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表