FriedTudle

FriedTudle

0个粉丝

1

问答

0

专栏

0

资料

FriedTudle  发布于  2017-08-02 10:13:29
采纳率 0%
1个问答
4214

3516CV300上HI_MPI_Venc_SendFrame使用报错,求助各位大神,谢谢

 
大家好,
    小弟最近在调试3516CV300的板子,想通过fread读一个yuv文件,然后通过调用 HI_MPI_Venc_SendFrame、HI_MPI_Venc_GetStream,获取编码后的265/264码流,然而在读取完yuv420sp图像后,调用HI_MPI_Venc_SendFrame即发生错误,函数返回了-1。该流程在3516a/d、3519都能正常执行,在3516c这个板子上运行就报错了,卡在了HI_MPI_Venc_SendFrame这一步。请问各位大侠,小弟的处理流程哪里有问题?3516cV300这个板子和3516a/d、3519等相比有什么不同,为什么我的流程走不通了。
    步骤如下:
                //1. 取VB, 用循环的目的是会出现VB buffer都累积在VENC的情况
                do
                {
                        hBlock = HI_MPI_VB_GetBlock(VB_INVALID_POOLID, u32BlkSize,NULL);
                }
                while (VB_INVALID_HANDLE == hBlock);

                // 2. 得到VB物理地址和虚拟地址
                u32PhyAddr = HI_MPI_VB_Handle2PhysAddr(hBlock);
                pVirAddr = (HI_U8 *) HI_MPI_SYS_Mmap(u32PhyAddr, u32BlkSize);
                u32PoolId = HI_MPI_VB_Handle2PoolId(hBlock);
   
                // 3. 填写VIDEO_FRAME_INFO_S结构
                memset(&stFrmInfo.stVFrame, 0, sizeof(VIDEO_FRAME_S));
                ...
               
                // 4. 读文件, 填图像数据
                fread(xxxx)
        
                // 5. 发送去VENC
               //该步骤即错误,返回-1,整个流程已在3516a/d、3519实验过可行,3516cv300即报错
                s32Ret = HI_MPI_VENC_SendFrame(VencGrp, &stFrmInfo);

                // 6. 释放虚拟地址和 VB
                HI_MPI_SYS_Munmap(pVirAddr, u32BlkSize);
                HI_MPI_VB_ReleaseBlock(hBlock);

谢谢大家!
我来回答
回答7个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-02 10:17:50
认可0
海思 API 返回-1, 一般是驱动没有加载, 或者版本不对, 或者驱动加载时的parameter不对

FriedTudle

0个粉丝

1

问答

0

专栏

0

资料

FriedTudle 2017-08-02 14:19:47
认可0
你好,驱动是都加载了的,cat /proc/umap/vi查看到的版本也是Hi3516CV300,请问还有什么参数要注意的?

FriedTudle

0个粉丝

1

问答

0

专栏

0

资料

FriedTudle 2017-08-02 14:20:36
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=56673&ptid=18330]zhuangweiye 发表于 2017-8-2 10:17[/url]
海思 API 返回-1, 一般是驱动没有加载, 或者版本不对, 或者驱动加载时的parameter不对[/quote]

你好,驱动是都加载了的,cat /proc/umap/vi查看到的版本也是Hi3516CV300,请问还有什么参数要注意的?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-02 14:35:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=56696&ptid=18330]FriedTudle 发表于 2017-8-2 14:20[/url]
你好,驱动是都加载了的,cat /proc/umap/vi查看到的版本也是Hi3516CV300,请问还有什么参数要注意的?[/quote]

1. 楼主需要确定 驱动的版本和测试程序编译的SDK版本一致, 比如 1.0.3.0

2. 至于参数, 楼主可以对比可以跑通的板子上的 /proc/umap/venc

FriedTudle

0个粉丝

1

问答

0

专栏

0

资料

FriedTudle 2017-08-02 14:45:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=56698&ptid=18330]zhuangweiye 发表于 2017-8-2 14:35[/url]
1. 楼主需要确定 驱动的版本和测试程序编译的SDK版本一致, 比如 1.0.3.0

2. 至于参数, 楼主可以对比可 ...[/quote]

嗯,确实,板子上的驱动版本是v1.0.1.0,程序编译的sdk是1.0.0.3不一致,是这个原因导致的吗..我还以为大版本号一致就可以了

hi3519v101

0个粉丝

5

问答

0

专栏

0

资料

hi3519v101 2017-08-02 14:48:50
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=56699&ptid=18330]FriedTudle 发表于 2017-8-2 14:45[/url]
嗯,确实,板子上的驱动版本是v1.0.1.0,程序编译的sdk是1.0.0.3不一致,是这个原因导致的吗..我还以为大 ...[/quote]

需要完全一样,包括kernel,否则说不定有啥问题。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-02 14:58:39
认可0
本帖最后由 zhuangweiye 于 2017-8-2 15:00 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=56699&ptid=18330]FriedTudle 发表于 2017-8-2 14:45[/url]
嗯,确实,板子上的驱动版本是v1.0.1.0,程序编译的sdk是1.0.0.3不一致,是这个原因导致的吗..我还以为大 ...[/quote]

返回-1 是很给面子的事情, 至少知道版本不匹配

如果不是返回-1的错误, 而是各种莫名其妙的运行错误, 最后发现是版本不对,那才坑呢
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区