randyhsd

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd  发布于  2017-05-29 22:59:44
采纳率 0%
3个问答
3071

学习遇到问题,sdk资料又没有例程,求例程,谢谢

 
如题,学习过程中想用这两个函数,根据自己的理解总是失败,求助大神。。。
HI_MPI_VPSS_UserSendFrame  
HI_MPI_VPSS_UserSendFrameTimeout

:$
我来回答
回答10个
时间排序
认可量排序

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd 2017-05-29 23:00:47
认可0
忘了说了 3520D

ssss樱

0个粉丝

3

问答

0

专栏

0

资料

ssss樱 2017-06-01 20:06:29
认可0
说下你的理解呀

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd 2017-06-08 21:17:54
认可0
我的理解就是:
1、调用HI_MPI_VPSS_UserGetFrame(VpssGrp, VpssChn, &stFrame),获取一帧图像信息
2、调用HI_MPI_SYS_MmzAlloc(&pu32PhyAdd, ((void**)&pu8VirAdd), NULL, NULL, 720*1280*3/2)分配一段内存,用来存放该帧图像信息,
3、调用HI_MPI_VPSS_UserSendFrame(3,&hsdFrame),将内存中的图像帧发送到VPSS

if (HI_MPI_VPSS_UserGetFrame(VpssGrp, VpssChn, &stFrame)!=HI_SUCCESS)
            {
                        printf("get frame error!!!\n");
                        return (HI_VOID *)-1;
                }
if (HI_FAILURE == HI_MPI_SYS_MmzAlloc(&pu32PhyAdd, ((void**)&pu8VirAdd), NULL, NULL, 720*1280*3/2))
    {
        printf("allocate memory failed\n");
                return (HI_VOID *)-1;
    }
pFramePhy=stFrame.stVFrame.u32PhyAddr[0];
        size = (stFrame.stVFrame.u32Stride[0])*(stFrame.stVFrame.u32Height)+(stFrame.stVFrame.u32Stride[1])*(stFrame.stVFrame.u32Height/2);
        pFrame = (HI_CHAR *) HI_MPI_SYS_Mmap(pFramePhy,size);
memcpy(&hsdFrame,&stFrame,sizeof(stFrame));
memcpy(pu8VirAdd,pFrame,size);
hsdFrame.stVFrame.u32PhyAddr[0]=pu32PhyAdd;
        hsdFrame.stVFrame.u32PhyAddr[1]=pu32PhyAdd+720*1280;
        hsdFrame.stVFrame.u32PhyAddr[2]=pu32PhyAdd+720*1280;
        hsdFrame.stVFrame.pVirAddr[0]=(void *)pu8VirAdd;
        hsdFrame.stVFrame.pVirAddr[1]=(void *)(pu8VirAdd+720*1280);
        hsdFrame.stVFrame.pVirAddr[2]=(void *)(pu8VirAdd+720*1280);

printf("send frame result 0x%x\n",HI_MPI_VPSS_UserSendFrame(3,&hsdFrame));
结果返回值 send frame result 0xa0088003      手册写是 VPSS 参数设置无效,但是图像信息和帧信息都只是复制,没有动过

ssss樱

0个粉丝

3

问答

0

专栏

0

资料

ssss樱 2017-06-13 19:25:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=51176&ptid=15375]randyhsd 发表于 2017-6-8 21:17[/url]
我的理解就是:
1、调用HI_MPI_VPSS_UserGetFrame(VpssGrp, VpssChn, &stFrame),获取一帧图像信息
2、调 ...[/quote]

发送时好像只能用物理地址,估计是物理地址有问题,你尝试用get到的物理地址试试。另外你从同一个通道获取图像再发送给它本身,不知道你具体想干啥。我的SDK是V300的,没有你这两个接口,所以不太清楚。

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd 2017-06-14 14:25:48
认可0
我想先获取图像,然后处理,最后在发过去 显示  录像 等等

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd 2017-06-14 14:26:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=52814&ptid=15375]ssss樱 发表于 2017-6-13 19:25[/url]
发送时好像只能用物理地址,估计是物理地址有问题,你尝试用get到的物理地址试试。另外你从同一个通道获 ...[/quote]

你用V300 做什么应用呢,分享交流下?:lol

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd 2017-06-14 21:52:23
认可0
找到例程了,sdk的例程里就有相关的,在sample_vio中有 SAMPLE_VIO_1D1_LossDet 就是发送用户帧到 MPP 中
大概的操作原理是:
1、HI_MPI_VPSS_UserGetFrame 函数 只能发送 mpp 内存中的帧数据到相应模块,不能发送linux系统内存中的帧
2、首先申请mpp系统内存块,然后从系统内存或者文件中将图像帧写到mpp内存中,具体例子参考 sample_vio中 SAMPLE_VIO_1D1_LossDet 例子,SAMPLE_COMM_VI_GetVFrameFromYUV 函数
3、初始化帧信息结构体,然后调用 HI_MPI_VPSS_UserGetFrame 函数,就可以将帧图像发送到vpss等模块了

初学,理解不对的还请大神指正 {:3_53:}

randyhsd

0个粉丝

3

问答

0

专栏

2

资料

randyhsd 2017-06-14 22:12:28
认可0
总的来说还是要多看例程,多看手册,海思还算好了 有完整的一套中文版的使用手册  
加油!!!

Qqq

0个粉丝

0

问答

0

专栏

0

资料

Qqq 2017-06-16 12:34:39
认可0
:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o

hero

0个粉丝

1

问答

0

专栏

0

资料

hero 2017-06-30 14:18:08
认可0
:)                              
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区