hongwazi

hongwazi

2个粉丝

14

问答

0

专栏

8

资料

hongwazi  发布于  2016-10-28 18:01:29
采纳率 0%
14个问答
13362

[已解决]hi3519 配置vi dev属性出错

 
本帖最后由 hongwazi 于 2016-11-1 17:30 编辑

我的目的: 暂无camera sensor,我的数据流程。 vi--->vi getframe ---> 算法处理 --->venc sendframe --->venc

现在问题:直接在配置vi dev attr时 报错,错误码为:0xA0108003 HI_ERR_VI_INVALID_PARA 视频输入参数设置无效

我的疑问:1.我的初始化流程从main开始到vi dev attr过程是否有问题?我会附上源码
                 2.开机过程需要insmod哪些驱动,我目前insmod的驱动有,hi3519_isp   hi3519_h265e hi3519_pm    hi3519_chnl  hi3519_venc  hi3519_rc    hi3519_sys   hi3519_base  hi_media     mmz,是否有缺少的?
                 3.看那个sdk ko目录下load3519发现需要在加载驱动时传入一些参数,比如让vi和vpss处于离线模式,是否还有其他的需要设置。

                 我是刚接触海思平台,很多问题需要请教各位好心人。我也会把我遇到并解决的问题,发到论坛供大家参考。谢谢易百纳!谢谢给我好心人,周末愉快!



-------------------------------------------已解决---------------------------------------------------
问题原因: HI_MPI_VI_SetDevAttr(ViDev, &stViDevAttr);设置的参数不完整

解决办法:参考sample示例中,已经定义好的DEV_ATTR_BT1120_1080P_BASE等dev attr设置
易百纳技术社区文件: 源码.zip
下载
我来回答
回答16个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-10-31 08:14:22
认可1
一般情况下, 都用

memcpy(&stViDevAttr, &DEV_ATTR_XXX, sizeof(stViDevAttr));

的方式来初始化stViDevAttr, 然后根据具体情况来修改stViDevAttr的部分成员以满足需求

楼主跳过这一步, 直接写, 但是又没有写全, 建议修改一下试试

hongwazi

2个粉丝

14

问答

0

专栏

8

资料

hongwazi 2016-10-31 09:19:52
认可0
谢谢,周末没加班,现在才看到,待会就试试!

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-10-31 09:36:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=40504&ptid=13176]hongwazi 发表于 2016-10-31 09:19[/url]
谢谢,周末没加班,现在才看到,待会就试试![/quote]

周末人也不在,刚刚才回的:lol

wahuqeir

0个粉丝

1

问答

0

专栏

1

资料

wahuqeir 2016-10-31 09:38:48
认可0
一般海思这种类型报错,可以通过执行 cat /dev/logmpp 看到是哪个参数有问题

hongwazi

2个粉丝

14

问答

0

专栏

8

资料

hongwazi 2016-10-31 09:40:51
认可0
好的,非常感谢!我待会试试!

hongwazi

2个粉丝

14

问答

0

专栏

8

资料

hongwazi 2016-10-31 10:39:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=40507&ptid=13176]zhuangweiye 发表于 2016-10-31 09:36[/url]
周末人也不在,刚刚才回的[/quote]

你好,刚才按照你的建议,我使用了demo中一个默认配置可以初始化ok。我这个测试程序的流程:vi--->HI_MPI_VI_SetUserPic设置用户图片--->vi getframe ---> 算法处理 --->venc sendframe --->venc,这是我以后程序的主要框架,主要是由于sensor还没有做好,所以我使用了设置用户图片,以后getframe可以得到用户自定义图片,实际运行在get frame超时了。我的流程哪里有问题吗?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-10-31 10:54:39
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=40518&ptid=13176]hongwazi 发表于 2016-10-31 10:39[/url]
你好,刚才按照你的建议,我使用了demo中一个默认配置可以初始化ok。我这个测试程序的流程:vi--->HI_MPI ...[/quote]

建议楼主先在文档上看一下

HI_MPI_VI_SetUserPic的"注意", 然后有问题再讨论

hongwazi

2个粉丝

14

问答

0

专栏

8

资料

hongwazi 2016-10-31 11:09:32
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=40525&ptid=13176]zhuangweiye 发表于 2016-10-31 10:54[/url]
建议楼主先在文档上看一下

HI_MPI_VI_SetUserPic的"注意", 然后有问题再讨论[/quote]

我就是看了很多次它的注意,以及参考它的demo代码写的程序。我的设置用户图片在源码中215行。我感觉可能是设置时间点有问题吧,我是在enable dev后,enable channel前设置的,它的demo里面只是说在enable channel前设置。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-10-31 11:33:31
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=40529&ptid=13176]hongwazi 发表于 2016-10-31 11:09[/url]
我就是看了很多次它的注意,以及参考它的demo代码写的程序。我的设置用户图片在源码中215行。我感觉可能 ...[/quote]

楼主代码里面

        s32Ret = HI_MPI_VI_SetFrameDepth(ViChn, 8);
        if (s32Ret != 0)
        {
                printf("HI_MPI_VI_SetFrameDepth failed with error code %#x!\n", s32Ret);
                return HI_FAILURE;
        }
        printf("-----------line = %d--------\n",__LINE__);
        /* 使能vi通道*/
        s32Ret = HI_MPI_VI_EnableChn(ViChn);
    if (s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VI_EnableChn failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
        printf("-----------line = %d--------\n",__LINE__);


次序应该有问题, 把HI_MPI_VI_SetFrameDepth放到 HI_MPI_VI_EnableChn后面试一下

hongwazi

2个粉丝

14

问答

0

专栏

8

资料

hongwazi 2016-10-31 11:50:10
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=40531&ptid=13176]zhuangweiye 发表于 2016-10-31 11:33[/url]
楼主代码里面

        s32Ret = HI_MPI_VI_SetFrameDepth(ViChn, 8);
[/quote]

谢谢你的回复和建议!

我刚才试了下,我里面有两个问题。
1.HI_MPI_VI_SetUserPic被调用了两次
   第一次在vi_set_user_picFrame 第二次在init_and_enable_vi,我现在把第一次给注释掉了

2.对于HI_MPI_VI_GetFrame的超时时间设置太短
cat  /dev/logmpp
  <3>[   viu] [Func]:ViuUserGetFrame [Line]:550 [Info]:<3>[   viu] Vichn(0) user get frame time out, s32MilliSec=50
<3>[   viu] [Func]:VIU_DRV_DisableChn [Line]:1298 [Info]:<3>[   viu] !! Disable ViChn:0 timeout 120ms!!!
<3>[    vb] Blk in this pool(0) occupied by someone, please release it first!
<3>[   viu] [Func]:ViuUserGetFrame [Line]:550 [Info]:<3>[   viu] Vichn(0) user get frame time out, s32MilliSec=50
<3>[   viu] [Func]:VIU_DRV_DisableChn [Line]:1298 [Info]:<3>[   viu] !! Disable ViChn:0 timeout 120ms!!!
<3>[    vb] Blk in this pool(0) occupied by someone, please release it first!

我现在把它修改为150ms 稍微大于 channel的超时时间,现在是能够HI_MPI_VI_GetFrame能够返回,待会儿去检查数据的正确性。

zfqddd

0个粉丝

0

问答

0

专栏

0

资料

zfqddd 2016-11-26 12:13:38
认可0
看看学习一上

Hi_Will

0个粉丝

4

问答

0

专栏

0

资料

Hi_Will 2017-06-03 21:41:02
认可0
遇到一样的问题。。。

hundajdx

0个粉丝

0

问答

0

专栏

0

资料

hundajdx 2017-06-06 14:53:13
认可0

学习学习,支持

qn1557101680

1个粉丝

2

问答

0

专栏

0

资料

qn1557101680 2019-09-22 18:33:48
认可0
感谢楼主分享经验,请问可以发你的YUV的文件上来吗?  或者可以告诉我这个文件怎么生成的吗?

gonham

0个粉丝

1

问答

0

专栏

0

资料

gonham 2019-12-26 15:16:35
认可0
厉害,66666666666,学习学习,6666666

rongler

0个粉丝

3

问答

0

专栏

0

资料

rongler 2017-08-14 10:32:07
认可0
谢谢分享!
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区