tom

tom

0个粉丝

16

问答

0

专栏

0

资料

tom  发布于  2016-04-26 19:49:10
采纳率 0%
16个问答
9127

3518跑sample_venc的时候创建编码通道的时候报内存不足的错误

 
# ./sample_venc 0
[SAMPLE_COMM_VENC_Start]-541: HI_MPI_VENC_CreateChn [0] faild with 0xa007800c!
[SAMPLE_VENC_720P_CLASSIC]-239: Start Venc failed!
[SAMPLE_COMM_VENC_Stop]-583: HI_MPI_VENC_StopRecvPic vechn[0] failed with 0xa0078005!
[SAMPLE_COMM_VENC_Stop]-583: HI_MPI_VENC_StopRecvPic vechn[1] failed with 0xa0078005!
[SAMPLE_COMM_VENC_Stop]-583: HI_MPI_VENC_StopRecvPic vechn[2] failed with 0xa0078005!
program exit abnormally!
我来回答
回答13个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-27 08:12:46
认可0
cat /proc/media-mem
把输出贴一下

tom

0个粉丝

16

问答

0

专栏

0

资料

tom 2016-04-27 10:29:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29200&ptid=11142]zhuangweiye 发表于 2016-4-27 08:12[/url]
cat /proc/media-mem
把输出贴一下[/quote]

# cat /proc/media-mem
+---ZONE: PHYS(0x82600000, 0x83FFFFFF), GFP=0, nBYTES=26624KB,        NAME="anonymous"
   |-MMB: phys(0x82600000, 0x8261FFFF), kvirt=0x  (null), flags=0x00000000, length=128KB,        name="FwReg"
   |-MMB: phys(0x82620000, 0x826DFFFF), kvirt=0xc2b00000, flags=0x00000003, length=768KB,        name="TDE_MEMPOOL_MMB"
   |-MMB: phys(0x826E0000, 0x826E0FFF), kvirt=0x  (null), flags=0x00000000, length=4KB,        name="TDE_COEF_MMB0"
   |-MMB: phys(0x83BA0000, 0x83D64FFF), kvirt=0x  (null), flags=0x00000000, length=1812KB,        name="h264e0_Str"

---MMZ_USE_INFO:
total size=26624KB(26MB),used=2712KB(2MB + 664KB),remain=23912KB(23MB + 360KB),zone_number=1,block_number=4
# RTL871X: SetHwReg8188E(wlan0): [HW_VAR_MACID_WAKEUP] macid=0, org reg_0x48c=0x00000000

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-27 11:26:07
认可0
由于程序跑了destroy/stop 所以看不出来你的MMZ使用情况

要么你在541行出错前加个getchar(), 然后等程序运行到那里时, 用telnet另开一个窗口, cat /proc/media-mem, 看一下MMZ使用情况

另外, 可以考虑把初始化时VB数量先减少几个, 让程序跑起来, 看实际MMZ使用情况再来调整, 缺点可能会造成编码丢帧

当然, 如果真的MMZ必须使用大于26M, 那么就要修改load3518.sh中 insmod mmz.ko后面的参数以及uboot的bootargs里面的mem=参数了

tom

0个粉丝

16

问答

0

专栏

0

资料

tom 2016-04-27 11:43:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29219&ptid=11142]zhuangweiye 发表于 2016-4-27 11:26[/url]
由于程序跑了destroy/stop 所以看不出来你的MMZ使用情况

要么你在541行出错前加个getchar(), 然后等程序 ...[/quote]

# cat /proc/media-mem
+---ZONE: PHYS(0x82600000, 0x83FFFFFF), GFP=0, nBYTES=26624KB,  NAME="anonymous"
   |-MMB: phys(0x82600000, 0x8261FFFF), kvirt=0x  (null), flags=0x00000000, leng
th=128KB,       name="FwReg"
   |-MMB: phys(0x82620000, 0x826DFFFF), kvirt=0xc3000000, flags=0x00000003, leng
th=768KB,       name="TDE_MEMPOOL_MMB"
   |-MMB: phys(0x826E0000, 0x826E0FFF), kvirt=0x  (null), flags=0x00000000, leng
th=4KB, name="TDE_COEF_MMB0"
   |-MMB: phys(0x826E1000, 0x834F5FFF), kvirt=0x  (null), flags=0x00000000, leng
th=14420KB,     name="vb"
   |-MMB: phys(0x834F6000, 0x837C8FFF), kvirt=0x  (null), flags=0x00000000, leng
th=2892KB,      name="vb"
   |-MMB: phys(0x837C9000, 0x83AA4FFF), kvirt=0x  (null), flags=0x00000000, leng
th=2928KB,      name="Ref&Mad buf"
   |-MMB: phys(0x83AA5000, 0x83AA5FFF), kvirt=0x  (null), flags=0x00000000, leng
th=4KB, name="HistRd buf"
   |-MMB: phys(0x83AA6000, 0x83AC8FFF), kvirt=0x  (null), flags=0x00000000, leng
th=140KB,       name="model buf"
   |-MMB: phys(0x83BA0000, 0x83D64FFF), kvirt=0x  (null), flags=0x00000000, leng
th=1812KB,      name="h264e0_Str"
   |-MMB: phys(0x83D65000, 0x83E1BFFF), kvirt=0x  (null), flags=0x00000000, leng
th=732KB,       name="vb"
   |-MMB: phys(0x83E1C000, 0x83E20FFF), kvirt=0x  (null), flags=0x00000000, leng
th=20KB,        name="vb"
   |-MMB: phys(0x83E21000, 0x83E23FFF), kvirt=0x  (null), flags=0x00000000, leng
th=12KB,        name="Chnl"
   |-MMB: phys(0x83E24000, 0x83E26FFF), kvirt=0x  (null), flags=0x00000000, leng
th=12KB,        name="sclcoeffset"
   |-MMB: phys(0x83E27000, 0x83E28FFF), kvirt=0x  (null), flags=0x00000000, leng
th=8KB, name="Chnl"
   |-MMB: phys(0x83E29000, 0x83E2BFFF), kvirt=0x  (null), flags=0x00000000, leng
th=12KB,        name="Chnl"
   |-MMB: phys(0x83E2C000, 0x83E33FFF), kvirt=0x  (null), flags=0x00000000, leng
th=32KB,        name="IVE_QUEUE"
   |-MMB: phys(0x83E34000, 0x83E3BFFF), kvirt=0x  (null), flags=0x00000000, leng
th=32KB,        name="IVE_QUEUE"

---MMZ_USE_INFO:
total size=26624KB(26MB),used=23956KB(23MB + 404KB),remain=2668KB(2MB + 620KB),
zone_number=1,block_number=17
#

tom

0个粉丝

16

问答

0

专栏

0

资料

tom 2016-04-27 11:48:58
认可0
stVbConf.u32MaxPoolCnt = 64;这个我之前由128改成64后面还改成32了 但是结果还是这样的

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-27 11:54:52
认可0
    |-MMB: phys(0x826E1000, 0x834F5FFF), kvirt=0x  (null), flags=0x00000000, length=14420KB,     name="vb"
    |-MMB: phys(0x834F6000, 0x837C8FFF), kvirt=0x  (null), flags=0x00000000, length=2892KB,      name="vb"

这里看到VB有两大块一块有14420K, 有近14M, 720P的情况是不是有点多呀

找一下你调用函数中对应的代码(可能有点不一样)
    u32BlkSize = SAMPLE_COMM_SYS_CalcPicVbBlkSize(gs_enNorm, \
                 enSize[0], SAMPLE_PIXEL_FORMAT, SAMPLE_SYS_ALIGN_WIDTH);
    stVbConf.astCommPool[0].u32BlkSize = u32BlkSize;
    stVbConf.astCommPool[0].u32BlkCnt = xxx;

把对应的stVbConf.astCommPool[0].u32BlkCnt 减少点, 可以直接减半, 先考虑程序能跑

具体多少合适, 贴个刚才运行状态下的 cat /proc/umap/vb以及编码路数再看

tom

0个粉丝

16

问答

0

专栏

0

资料

tom 2016-04-27 11:56:59
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29224&ptid=11142]zhuangweiye 发表于 2016-4-27 11:54[/url]
|-MMB: phys(0x826E1000, 0x834F5FFF), kvirt=0x  (null), flags=0x00000000, length=14420KB,     nam ...[/quote]

好的 我先试试  多谢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-27 12:01:33
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29222&ptid=11142]tom 发表于 2016-4-27 11:48[/url]
stVbConf.u32MaxPoolCnt = 64;这个我之前由128改成64后面还改成32了 但是结果还是这样的[/quote]

这个是指VB池的最大个数, 一般能用到3-4个就很多了,和实际VB多少没啥关系

tom

0个粉丝

16

问答

0

专栏

0

资料

tom 2016-04-27 12:10:02
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29224&ptid=11142]zhuangweiye 发表于 2016-4-27 11:54[/url]
|-MMB: phys(0x826E1000, 0x834F5FFF), kvirt=0x  (null), flags=0x00000000, length=14420KB,     nam ...[/quote]

可以跑起来了 非常感谢:)

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-27 12:22:09
认可0
看一下 /proc/media-mem显示的空余内存还有多少

720P的VB大概1.5M一个, 有多余的内存就多分几个VB, 对系统性能有好处, 一个Vi通道最好>=6个VB

tom

0个粉丝

16

问答

0

专栏

0

资料

tom 2016-04-27 13:46:11
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29230&ptid=11142]zhuangweiye 发表于 2016-4-27 12:22[/url]
看一下 /proc/media-mem显示的空余内存还有多少

720P的VB大概1.5M一个, 有多余的内存就多分几个VB, 对系 ...[/quote]

开了三路通道一个分了6vb还剩下一兆多剩余的  跑是能跑起来了 但是跑起来一会之后就会出现这个[SAMPLE_COMM_VENC_GetVencStreamProc]-921: get venc stream time out, exit thread,获取不到数据

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-27 14:37:48
认可0
无码流的情况有很多

第一 看看Vi/Vpss/Venc的大小是否设置正确

第二 看看Vi-->Vpss-->Venc 的绑定是否正确,确保数据通道畅通

第三 要看看是不是Vi没有中断过来
可以看 /proc/umap/vi

例子(1080P@25的情况)
...
-----VI PHYCHN STATUS 1----------------------------------------------------------
PhyChn  Dev      IntCnt  VbFail  LosInt  TopLos  BotLos BufCnt  IntT  SendT  Field  Stride
      0        0        389028       0       0       0           0         0       70      0       frm    1920

-----VI PHYCHN STATUS 2---------------------------------------------------------
PhyChn MaxIntT   IntGapT   MaxGapT OverCnt LIntCnt  ThrCnt AutoDis CasAutD  TmgErr      ccErrN    IntRat
      0      99           40001     1859942       5        0           0         0            0          0             0            25
...

要注意的是上面红色的部分

第四 可以看一下VB使用情况

例子(1080P的VB, 注意是VI使用的)
-------------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm    Owner     BlkSz    BlkCnt      Free       MinFree
     0  0x87e57000  0xcc000000         1       -1        3133440        10       2(2)         1

要关注红色的部分
如果Free下面是0了那说明VB不够了, 一般最好能让MinFree不为0


newlegend

0个粉丝

0

问答

0

专栏

0

资料

newlegend 2016-05-13 17:54:47
认可0
学习了!多谢
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区