867241432

867241432

0个粉丝

9

问答

0

专栏

0

资料

867241432  发布于  2015-04-28 13:59:15
采纳率 0%
9个问答
7193

ive 颜色空间转换

void YUV2RGB_by_IVE(HI_U32 yuvData, unsigned char *rgbData, int u32Width, int u32Height, int u32Stride)
{
        HI_S32 s32Ret;
        IVE_HANDLE *iveHandle;
        HI_BOOL bInstant = HI_TRUE;
        IVE_SRC_INFO_S iveCscSrc;
        IVE_MEM_INFO_S iveCscDst;
        HI_VOID *pVirCscDst;
        IVE_CSC_CTRL_S iveCscCtrl;
        IVE_SRC_FMT_E iveCscFmt = IVE_SRC_FMT_SP420;
        IVE_CSC_OUT_FMT_E iveCscOutFmt = IVE_CSC_OUT_FMT_PACKAGE;
        IVE_CSC_MODE_E iveCscMode = IVE_CSC_MODE_PIC_BT601_AND_BT656;

        iveCscSrc.enSrcFmt = iveCscFmt;
        iveCscSrc.stSrcMem.u32PhyAddr = yuvData;
        iveCscSrc.stSrcMem.u32Stride = u32Stride;
        iveCscSrc.u32Width = u32Width;
        iveCscSrc.u32Height = u32Height * 1.5;

        iveCscDst.u32Stride = u32Stride;
        s32Ret = HI_MPI_SYS_MmzAlloc_Cached(&iveCscDst.u32PhyAddr, &pVirCscDst, "user", HI_NULL,
                                                                                iveCscSrc.u32Width * iveCscSrc.u32Height * 3);
        if(HI_SUCCESS != s32Ret)
        {
                printf("mmz Alloc failed with %x\n", s32Ret);
                return;
        }
       
        iveCscCtrl.enOutFmt = iveCscOutFmt;
        iveCscCtrl.enCscMode = iveCscMode;
        s32Ret = HI_MPI_IVE_CSC(iveHandle, &iveCscSrc, &iveCscDst, &iveCscCtrl, bInstant);
        if(HI_SUCCESS != s32Ret)
        {
                printf("yuv to rgb failed!\n");
                return;
        }

        memcpy(rgbData, pVirCscDst, u32Width * u32Height * 3);
        HI_MPI_SYS_MmzFree(iveCscDst.u32PhyAddr, pVirCscDst);
}

这段代码希望将yuv格式的yuvdata 转为rgb格式的rgbData,但是在HI_MPI_IVE_CSC这个函数这出错。
mmz Alloc failed with ffffffff
mmz_userdev:ioctl_mmb_alloc: hil_mmb_alloc(user, 4147200, 0x00000000, 0, ) failed!
MMB LEAK(pid=522): 0x83A75000, 4149248 bytes, 'user'
mmz_userdev_release: mmb<0x83A75000> mapped to userspace 0x43532000 will be force unmaped!
这一段是错误代码,
如果注释掉HI_MPI_IVE_CSC的话是可以正常执行的。希望做过的朋友能够帮助我。谢谢
我来回答
回答2个
时间排序
认可量排序

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk 2015-04-28 17:25:07
认可0
mmz Alloc failed with ffffffff
内存分配都失败了,还继续走下面的处理,肯定出错啊。

HI_MPI_SYS_MmzAlloc_Cached 这个函数就失败了,mmz规划的内存不够用了。

867241432

0个粉丝

9

问答

0

专栏

0

资料

867241432 2015-04-29 15:07:36
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=15668&ptid=7412]9crk 发表于 2015-4-28 17:25[/url]
mmz Alloc failed with ffffffff
内存分配都失败了,还继续走下面的处理,肯定出错啊。

[/quote]

我不知道如何去调试它。。。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区