flyablefish

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish  发布于  2016-06-22 15:13:44
采纳率 0%
4个问答
5372

关于HI3516A视频侦测通道在不绑定数据源的情况下得不到任何检测结果

 
遇到一个问题,不知大家是否这么用过
根据文档,视频侦测通道可以不绑定输入源,而是采用HI_MPI_VDA_SendPic向视频侦测通道发送图像。我用这种方法将一段视频中的图像逐帧发送给视频侦测通道,HI_MPI_VDA_SendPic返回的结果表明发送成功,但无论是Od通道还是Md通道都不会获得任何侦测结果。而这一段视频在我录制的时候(输入源绑定到侦测通道)是可以检测到运动目标的。不知道是什么原因,请问是否有人这么做过。
谢谢
我来回答
回答21个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-22 15:39:11
认可0
应该不会没有结果

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-22 15:42:00
认可0
我也认为不应该没有结果,但实际运行下来就是没有任何侦测结果

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-22 16:00:07
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32148&ptid=11696]flyablefish 发表于 2016-6-22 15:42[/url]
我也认为不应该没有结果,但实际运行下来就是没有任何侦测结果[/quote]

我更相信海思

goodman

4个粉丝

30

问答

18

专栏

17

资料

goodman 2016-06-22 21:09:15
认可0
把调试信息发上看看,cat /proc/umap/vda

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 14:57:12
认可0
[VDA] Version: [Hi3516A_MPP_V1.0.3.0 B040 Debug], Build Time[Mar 13 2015, 19:09:49]

-----VDA CHN ATTR----------------------------------------------------------
NO.    W    H  Mode   Alg  MbSz MbBit RfM BufN  Itl BgWt RgnN

-----VDA CHN ATTR 2--------------------------------------------------------
NO. Rgn    X    Y    W    H SadTh  ArTh  OcTh  UnOcTh  ObjN  Sad  Obj  Plx

-----VDA STATE-------------------------------------------------------------
NO. Rgn    BgPhy BgSrd    RfPhy   RfStd bScdu bFst  OcCt  UnOc        VdaC
调试信息如下,这个我不太懂啊

-----VDA STATE2-------------------------------------------------------------------------------------------------------------
NO.   MemPhy   MemVir  MemSz   CRfPhy RgnIx        ViSd      VdecSd      VpssSd      UserSd        Recv     LstPicC

-----VDA CALL VGS STATE-----------------------------------------------------------------------------------------------------
NO.     CallCnt      JobSuc     JobFail     TaskSuc    TaskFail      EndSuc     EndFail       CbCnt    JobFinOk  JobFinFail

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-23 15:57:27
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32245&ptid=11696]flyablefish 发表于 2016-6-23 14:57[/url]
[VDA] Version: [Hi3516A_MPP_V1.0.3.0 B040 Debug], Build Time[Mar 13 2015, 19:09:49]

-----VDA CHN  ...[/quote]

是运行时的信息吗?

如果是,那么VDA通道没有创建,连基本的宽高都没有

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 16:07:51
认可0
刚才搞错了,得到的是程序停止以后的信息
运行时的信息如下

[VDA] Version: [Hi3516A_MPP_V1.0.3.0 B040 Debug], Build Time[Mar 13 2015, 19:09:49]

-----VDA CHN ATTR----------------------------------------------------------
NO.    W    H  Mode   Alg  MbSz MbBit RfM BufN  Itl BgWt RgnN
  0  640  480     0     1     1     0   0    8    4  128    1

-----VDA CHN ATTR 2--------------------------------------------------------
NO. Rgn    X    Y    W    H SadTh  ArTh  OcTh  UnOcTh  ObjN  Sad  Obj  Plx
   0   0    0    0  640  480    10     0     0       0   128    1    1    1

-----VDA STATE-------------------------------------------------------------
NO. Rgn    BgPhy BgSrd    RfPhy   RfStd bScdu bFst  OcCt  UnOc        VdaC
   0   0        0     0        0       0     1    1     0     0           0

-----VDA STATE2-------------------------------------------------------------------------------------------------------------
NO.   MemPhy   MemVir  MemSz   CRfPhy RgnIx        ViSd      VdecSd      VpssSd      UserSd        Recv     LstPicC
   0 8d244000 c8fc8000  20864        0     0           0           0           0           0           0           0

-----VDA CALL VGS STATE-----------------------------------------------------------------------------------------------------
NO.     CallCnt      JobSuc     JobFail     TaskSuc    TaskFail      EndSuc     EndFail       CbCnt    JobFinOk  JobFinFail
   0           0           0           0           0           0           0           0           0           0           0

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 16:09:38
认可0
我还有点疑问就是刚才发的信息是以后台方式运行程序得到的结果,其实这个时候还没有给VDA通道发送图片,但如果程序在运行的话,怎么得到调试信息呢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-23 16:21:59
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32261&ptid=11696]flyablefish 发表于 2016-6-23 16:09[/url]
我还有点疑问就是刚才发的信息是以后台方式运行程序得到的结果,其实这个时候还没有给VDA通道发送图片,但 ...[/quote]


再开个telnet连上板子,然后在新开的窗口上看这些信息

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 16:25:45
认可0
对啊,一直想着只有一个串口,忘了还有telnet,不过telnet连上以后还需要登录,这个用户名和密码是什么啊?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-23 16:28:39
认可0
-----VDA STATE2-------------------------------------------------------------------------------------------------------------
NO.   MemPhy   MemVir  MemSz   CRfPhy RgnIx        ViSd      VdecSd      VpssSd      UserSd        Recv     LstPicC
    0    8d244000 c8fc8000  20864        0     0              0           0               0             0               0           0

这里说明 VDA没有收到图像

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 16:31:59
认可0
刚才那个信息是后台运行的,确实没有图像,下面这个是程序运行时我用telnet登上去看到的信息

[VDA] Version: [Hi3516A_MPP_V1.0.3.0 B040 Debug], Build Time[Mar 13 2015, 19:09:49]

-----VDA CHN ATTR----------------------------------------------------------
NO.    W    H  Mode   Alg  MbSz MbBit RfM BufN  Itl BgWt RgnN
  0  640  480     0     1     1     0   0    8    4  128    1

-----VDA CHN ATTR 2--------------------------------------------------------
NO. Rgn    X    Y    W    H SadTh  ArTh  OcTh  UnOcTh  ObjN  Sad  Obj  Plx
   0   0    0    0  640  480    10     0     0       0   128    1    1    1

-----VDA STATE-------------------------------------------------------------
NO. Rgn    BgPhy BgSrd    RfPhy   RfStd bScdu bFst  OcCt  UnOc        VdaC
   0   0        0     0        0       0     1    0     0     0         335

-----VDA STATE2-------------------------------------------------------------------------------------------------------------
NO.   MemPhy   MemVir  MemSz   CRfPhy RgnIx        ViSd      VdecSd      VpssSd      UserSd        Recv     LstPicC
   0 8d244000 c9578000  20864 8cd41000     0           0           0           0        1672         335           0

-----VDA CALL VGS STATE-----------------------------------------------------------------------------------------------------
NO.     CallCnt      JobSuc     JobFail     TaskSuc    TaskFail      EndSuc     EndFail       CbCnt    JobFinOk  JobFinFail
   0           0           0           0           0           0           0           0           0           0           0

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-23 16:45:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32270&ptid=11696]flyablefish 发表于 2016-6-23 16:31[/url]
刚才那个信息是后台运行的,确实没有图像,下面这个是程序运行时我用telnet登上去看到的信息

[VDA] Vers ...[/quote]

从信息上看VDA工作正常

-----VDA STATE-------------------------------------------------------------
NO. Rgn    BgPhy BgSrd    RfPhy   RfStd bScdu bFst  OcCt  UnOc        VdaC
    0   0        0     0        0       0     1    0     0     0         335 (完成335次)

-----VDA STATE2-------------------------------------------------------------------------------------------------------------
NO.   MemPhy   MemVir  MemSz   CRfPhy RgnIx        ViSd      VdecSd      VpssSd      UserSd        Recv     LstPicC
    0 8d244000 c9578000  20864 8cd41000     0           0           0           0        1672         335( 接收到335帧),          0

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 16:54:23
认可0
但是没有任何检测结果,我发现有一个地方不一样,当以VI作为vda输入源的时候,参考帧图像跨度(RfStd)是640,也就是一帧图像的宽度,但不绑定VI通道时这个值是0,这个是否会影响视频侦测?但参考帧应该不用设置啊,我用的是动态模式

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-23 17:18:04
认可0
本帖最后由 zhuangweiye 于 2016-6-23 17:19 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=32279&ptid=11696]flyablefish 发表于 2016-6-23 16:54[/url]
但是没有任何检测结果,我发现有一个地方不一样,当以VI作为vda输入源的时候,参考帧图像跨度(RfStd)是64 ...[/quote]

楼主说的"没有结果"是指得不到检测结果还是检测结果和预期的不一样, 比如说应该有MD检测到,而实际输出数据没有?

如果是后者,那我们上面讨论的都浪费了

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 17:22:27
认可0
不好意思,我没有说清楚,我指得是没有检测到任何运动目标,而那段视频在录制的时候是能够检测到运动目标的

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-23 17:27:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32283&ptid=11696]flyablefish 发表于 2016-6-23 17:22[/url]
不好意思,我没有说清楚,我指得是没有检测到任何运动目标,而那段视频在录制的时候是能够检测到运动目标的[/quote]

隐隐感到是这个结果, 好悲伤, 浪费了大家这么多时间和脑细胞

那就看看输入时VIDEO_FRAME_INFO_S*pstUserFrame 楼主是怎么填写的吧

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-23 18:11:35
认可0
抱歉,下面是我分配视频帧内存的代码,请大家帮忙看看有没有问题,谢谢   
   memset(pFrame,0,sizeof(VIDEO_FRAME_INFO_S));
    pFrame->stVFrame.u32Width=640;
    pFrame->stVFrame.u32Height=480;
    pFrame->stVFrame.u32Field=VIDEO_FIELD_FRAME;
    pFrame->stVFrame.enPixelFormat=PIXEL_FORMAT_YUV_SEMIPLANAR_420;
    pFrame->stVFrame.enVideoFormat=VIDEO_FORMAT_LINEAR;
    pFrame->stVFrame.enCompressMode=COMPRESS_MODE_NONE;
    pFrame->stVFrame.u32Stride[0]=640;
    pFrame->stVFrame.u32Stride[1]=640;
    pFrame->stVFrame.u32Stride[2]=640;

    VbBlk = HI_MPI_VB_GetBlock(VB_INVALID_POOLID, *u32FrameDataLength,NULL);
   
   /* get physical address*/
    u32PhyAddr = HI_MPI_VB_Handle2PhysAddr(VbBlk);
   
    VbPool=HI_MPI_VB_Handle2PoolId(VbBlk);
    s32Ret = HI_MPI_VB_MmapPool(VbPool);
   
    s32Ret = HI_MPI_VB_GetBlkVirAddr(VbPool, u32PhyAddr, &pVirAddr);
   

   pFrame->u32PoolId=VbPool;
    pFrame->stVFrame.u32PhyAddr[0]=u32PhyAddr;
    pFrame->stVFrame.pVirAddr[0]=pVirAddr;
    pFrame->stVFrame.u32PhyAddr[1]=u32PhyAddr+pFrame->stVFrame.u32Stride[0]*pFrame->stVFrame.u32Height;
    pFrame->stVFrame.pVirAddr[1]=pVirAddr+pFrame->stVFrame.u32Stride[0]*pFrame->stVFrame.u32Height;
    pFrame->stVFrame.u32PhyAddr[2]=pFrame->stVFrame.u32PhyAddr[1];
    pFrame->stVFrame.pVirAddr[2]=pFrame->stVFrame.pVirAddr[1];

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-24 08:19:56
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32287&ptid=11696]flyablefish 发表于 2016-6-23 18:11[/url]
抱歉,下面是我分配视频帧内存的代码,请大家帮忙看看有没有问题,谢谢   
   memset(pFrame,0,sizeof(VI ...[/quote]

可能的几个点:
1.
VbBlk = HI_MPI_VB_GetBlock(VB_INVALID_POOLID, *u32FrameDataLength,NULL);
*u32FrameDataLength 这个不是很理解, 难道u32FrameDataLength是个指针? 不过既然能跑,估计就是了

2.
   memset(pFrame,0,sizeof(VIDEO_FRAME_INFO_S));
表示该结构其他没有赋值的成员变量都是0
那么其中的VIDEO_FRAME_S stVFrame中的两个
HI_U64 u64pts;
HI_U32 u32TimeRef;
也是0了, 是否正确?
建议设为下面的值试一下, 其中uFrameCnt为帧数每送一帧后累加一次, 40是假设为PAL 25fps, 应该不影响测试
        pFrame->stVFrame.u64pts  = (uFrameCnt * 40);
        pFrame->stVFrame.u32TimeRef = (uFrameCnt * 2);

3. 图像填写的代码没看到

flyablefish

0个粉丝

4

问答

0

专栏

0

资料

flyablefish 2016-06-24 09:35:24
认可0
谢谢你的回复,
1. *u32FrameDataLength是一个指针是为了获得一帧的数据长度,因为这些代码是在一个函数里,由其他函数调用
2.  我尝试过给u32TimeRef赋以一个递增的值,u64pts没有赋值,但似乎没什么影响,一会儿按照你说的再试试
3. 图像内容是在函数外面填的,这个函数负责分配一个内存帧,帧内容我存成文件看过,没有问题
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区