camelo4

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4  发布于  2014-04-01 09:14:23
采纳率 0%
9个问答
8587

请问HI3520 如何限制丢帧数目?

 
现在做采集存储时候,发现运行一段时间后,丢帧数量开始增多,造成采集中断时间不稳,会出现中断异常,不得不复位采集模块,RC控制是配成vbr还是abr,cbr,请问有没有好的解决办法?
我来回答
回答20个
时间排序
认可量排序

dondeng

0个粉丝

3

问答

0

专栏

1

资料

dondeng 2014-04-01 12:40:45
认可0
是AD那边丢?

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-01 14:37:45
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6515&ptid=3225]dondeng 发表于 2014-4-1 12:40[/url]
是AD那边丢?[/quote]

恩,丢多了,vicap中断异常。

ns001x

0个粉丝

28

问答

0

专栏

1

资料

ns001x 2014-04-01 17:47:01
认可0
最可能就是AD配置不对。 检查下驱动。

hilinux

0个粉丝

17

问答

0

专栏

0

资料

hilinux 2014-04-01 21:50:33
认可0
cat /dev/log看看是否有内存不够的信息

cat /proc/umap/vi 看看对应的vilost是否有增加,可能是内存没有分配到位

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-02 08:38:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6524&ptid=3225]ns001x 发表于 2014-4-1 17:47[/url]
最可能就是AD配置不对。 检查下驱动。[/quote]

我直接采集的时候,是没有问题的,应该不是AD的问题,后来查了查资料,说编码的时候,RC会对一些帧做处理,会丢掉一些超大帧,导致VI采集中断异常。RC模块是被海思封装了,不知道你们有没有遇到这问题?

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-02 08:44:00
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6529&ptid=3225]hilinux 发表于 2014-4-1 21:50[/url]
cat /dev/log看看是否有内存不够的信息

cat /proc/umap/vi 看看对应的vilost是否有增加,可能是内存没有 ...[/quote]

cat  /dev/log
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x1, IntRawStatus = 0x10003
<7>[    vi] [Func]:ViuUfReceivePic [Line]:497 [Info]:<7>[    vi] vi chn0 's frame depth is 0!
<7>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2908 [Info]:<7>[    vi] s32PhyChn 0 intstatus = 0x101, IntRawStatus = 0x101
<7>[    vi] [Func]:ViuDrvSetCcIntErr [Line]:448 [Info]:<7>[    vi] vichn(0) CcInt Err!
<6>[    vi] [Func]:ViuDrvProcSendFrm [Line]:2736 [Info]:<6>[    vi] vi phychn 0 lost bottom field int!
<4>[    vi] [Func]:ViuDrvInterruptRoute [Line]:2926 [Info]:<4>[    vi] s32PhyChn 0 VIU_DATATHROW_INT
看最后3行。
VI中断异常了,丢掉了一场数据。必须复位vicap才能继续工作。自己找了找资料,说编码的时候RC内部会处理一些超大帧,丢很多帧,时间一长会造成vi采集中断异常。因为我直接采集不编码没有遇到这问题。不知道你们有遇到这问题吗?

falloutmx

1个粉丝

15

问答

0

专栏

0

资料

falloutmx 2014-04-02 09:09:14
认可0
输入的是高清?你降低下码率,用CBR

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-02 09:24:34
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6539&ptid=3225]falloutmx 发表于 2014-4-2 09:09[/url]
输入的是高清?你降低下码率,用CBR[/quote]

输入的是D1 25f 。我看到资料上有这几个参数跟编码有关的,u32LostFrmBpsThr  bLostFrmOpen enSuperFrmMode,这个是否要配置?


cyc2009

0个粉丝

11

问答

0

专栏

1

资料

cyc2009 2014-04-09 15:00:10
认可0
提个醒: vb设置是否足够?可能你使用的线程多了~你的vb又是从原来的例程中拷贝过来的~这样会造成vb不足,处理不过来的。

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-10 09:52:40
认可0
VB如何自己设置?

cowboy

0个粉丝

9

问答

0

专栏

5

资料

cowboy 2014-04-10 11:41:11
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6618&ptid=3225]cyc2009 发表于 2014-4-9 15:00[/url]
提个醒: vb设置是否足够?可能你使用的线程多了~你的vb又是从原来的例程中拷贝过来的~这样会造成vb不足, ...[/quote]

vb 不是提前分配好的么?难道要动态

hilinux

0个粉丝

17

问答

0

专栏

0

资料

hilinux 2014-04-10 20:13:26
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6537&ptid=3225]camelo4 发表于 2014-4-2 08:44[/url]
cat  /dev/log
[    vi] [Func]:ViuUfReceivePic [Line]:497 :[    vi] vi chn0 's frame depth is 0!
...[/quote]

采集之前先初始化足够的VB

和RC没有关系,是采集丢失了,可能是AD配置不对或者是内存不足

cyc2009

0个粉丝

11

问答

0

专栏

1

资料

cyc2009 2014-04-11 08:52:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6624&ptid=3225]camelo4 发表于 2014-4-10 09:52[/url]
VB如何自己设置?[/quote]

代码中:
stVbConf.astCommPool[0].u32BlkSize = u32BlkSize;
stVbConf.astCommPool[0].u32BlkCnt = u32ViChnCnt * 8;

我之前使用的是u32ViChnCnt * 4,然后跑代码的时候出现视频通道乱窜的情况,改为8后,就ok了,其实就是视频池分配不够造成的。不知道你是否是这个问题。

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-11 09:45:35
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6645&ptid=3225]cyc2009 发表于 2014-4-11 08:52[/url]
代码中:
stVbConf.astCommPool[0].u32BlkSize = u32BlkSize;
stVbConf.astCommPool[0].u32BlkCnt = u3 ...[/quote]

VB] Version: [Hi3520A_MPP_V1.0.0.0 Debug], Build Time[Jul 13 2012, 16:36:53]
-----VB PUB CONFIG-------------------------------------------------------------
Max Count of Pools:        256
-----COMMON POOL CONFIG--------------------------------------------------------
PoolId       0       1       2       3       4       5       6       7       8       9      10      11      12      13      14      15
Size    665600    2832       0       0       0       0       0       0       0       0       0       0       0       0       0       0
Count        6       4       0       0       0       0       0       0       0       0       0       0       0       0       0       0
-----      --------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     0  0x86bba000  0xccc00000         1    665600         6         2(2)         1
BLK   VIU   VOU   DSU  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC
   4     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
   0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   2     0     0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0
   3     0     0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0
Sum      1     0     2     0     0     0     0     0     0     0     0     0     1     2     0     0     0     0     0
-----      --------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     1  0x86f89000  0xc6fdc000         1      2832         4         4(4)         4
-----      --------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     2  0x87238000  0xcd000000         0    152064         4         0(0)         0
BLK   VIU   VOU   DSU  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC
   0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
   1     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
   2     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
   3     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
Sum      0     0     0     0     0     0     4     0     0     0     0     0     0     0     0     0     0     0     0

看下我的vb是否有问题,就是poold2私有缓冲池,总是剩余0个。这个是配置编码器参数时候编码器内部分配的吧

cyc2009

0个粉丝

11

问答

0

专栏

1

资料

cyc2009 2014-04-11 10:01:26
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6646&ptid=3225]camelo4 发表于 2014-4-11 09:45[/url]
VB] Version: [Hi3520A_MPP_V1.0.0.0 Debug], Build Time[Jul 13 2012, 16:36:53]
-----VB PUB CONFIG-- ...[/quote]

额~我不知道你这个是怎么得到的,我想表达的意思是你分配的vb不够,最多不是可以有256个嘛~你多分配几个呗~如果问题还没解决~那就排除是vb的原因

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-11 10:19:15
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6647&ptid=3225]cyc2009 发表于 2014-4-11 10:01[/url]
额~我不知道你这个是怎么得到的,我想表达的意思是你分配的vb不够,最多不是可以有256个嘛~你多分配几个 ...[/quote]

你把你的cat /dev/umap/vb 调试信息贴出来参考一下,我改大了还是不行,但是我直接采集不经过编码,又没有出现这种问题,只是在采集后经过编码就有。

cyc2009

0个粉丝

11

问答

0

专栏

1

资料

cyc2009 2014-04-11 10:37:29
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6649&ptid=3225]camelo4 发表于 2014-4-11 10:19[/url]
你把你的cat /dev/umap/vb 调试信息贴出来参考一下,我改大了还是不行,但是我直接采集不经过编码,又没 ...[/quote]

额~那我就不清楚了~我使用的CBR编码,NTSC制式,30帧。

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-11 11:13:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6650&ptid=3225]cyc2009 发表于 2014-4-11 10:37[/url]
额~那我就不清楚了~我使用的CBR编码,NTSC制式,30帧。[/quote]

你AD芯片用的是?

cyc2009

0个粉丝

11

问答

0

专栏

1

资料

cyc2009 2014-04-11 11:22:09
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6651&ptid=3225]camelo4 发表于 2014-4-11 11:13[/url]
你AD芯片用的是?[/quote]

rn6318a     

camelo4

0个粉丝

9

问答

0

专栏

0

资料

camelo4 2014-04-16 08:24:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6529&ptid=3225]hilinux 发表于 2014-4-1 21:50[/url]
cat /dev/log看看是否有内存不够的信息

cat /proc/umap/vi 看看对应的vilost是否有增加,可能是内存没有 ...[/quote]

AD输出的是YUV422,我想知道是在VI模块里面转的还是经过VPSS模块后才转成YUV420的?
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区