yanjinbin

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin  发布于  2017-04-11 16:44:31
采纳率 0%
9个问答
3567

缓冲池系统会自动生成,这个生成规律是什么?

 
例如有一个测试时注意工作的
1.配置缓冲池代码
    u32BlkSize = 843264;
    stVbConf.u32MaxPoolCnt = 64;         //整个系统中可容纳的缓存池个数,即是astCommPool[]缓冲池最多64个,

    stVbConf.astCommPool[0].u32BlkSize = u32BlkSize;
    stVbConf.astCommPool[0].u32BlkCnt = u32ViChnCnt * 16;
    HI_MPI_VB_SetConf(&stVbConf);
2.其他代码工作
   8个摄像头->VPSS->在VGA上9分屏显示,最后通过数据回写的方式在VGA内容映射到CVBS(SD0)设备上。
   VGA配置是VO_OUTPUT_1366x768_60,

在启动找个测试程序时,cat /proc/umap/vb 查看缓冲池情况如下:
# cat /proc/umap/vb

[VB] Version: [Hi3521A_MPP_V1.0.4.0 B040 Release], Build Time[Jun  8 2016, 17:10:54]

-----VB PUB CONFIG-------------------------------------------------------------
Max Count of Pools:        256

-----VB SUPPLEMENT ATTR--------------------------------------------------------
Supplement Config:     0
Supplement Size:       0
Vb Total Cnt:        139

-----COMMON POOL CONFIG--------------------------------------------------------
PoolId           0
Size        843264
Count          128


------------------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm    Owner     BlkSz    BlkCnt      Free       MinFree
     0  0x86b93000  0x       0         1       -1    843264       128     105(105)       100
BLK   VIU   VOU   VGS  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC  VFMW  USER H265E
  39     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  77     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  69     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  79     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  96     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  65     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  67     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
108     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
125     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  83     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  80     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
  78     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  87     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  37     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  31     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  62     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  38     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  11     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  73     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   9     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   5     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
100     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  72     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum     10     2     0     0     0     0     0     0     0     0     0     0    11     0     0     0     0     0     0     0     0     0

------------------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm    Owner     BlkSz    BlkCnt      Free       MinFree
     1  0x8dbf6000  0x       0         0       -2   1585152         8       0(0)         0
BLK   VIU   VOU   VGS  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC  VFMW  USER H265E
   0     0    15     0     0     0     0     0     0     0     0     0     0     3     0     0     0     0     0     0     0     0     0
   1     0    15     0     0     0     0     0     0     0     0     0     0     3     0     0     0     0     0     0     0     0     0
   2     0    15     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   3     0    15     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   4     0    18     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   5     0    18     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   6     0    10     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   7     0    10     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum      0     8     0     0     0     0     0     0     0     0     0     0     2     0     0     0     0     0     0     0     0     0

------------------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm    Owner     BlkSz    BlkCnt      Free       MinFree
     2  0x8e80e000  0x       0         0       -2    622080         3       1(1)         1
BLK   VIU   VOU   VGS  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC  VFMW  USER H265E
   1     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   2     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum      0     2     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

PoolId=1和PoolId=2缓冲池不是我创建的,这是怎么来的?
  我猜测是:id=1缓冲池是VGA显示??id=2是CVBS显示使用吗?
好像没文档说明哪些情况下会自动生成缓冲池,那么我配置缓冲池是否需要注意下不要把MPP的内存分配光,留一点给系统?
我来回答
回答4个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-11 16:56:09
认可0
这两个是创建vo时创建的,用户不用关心也无法使用(VO专用的),只要MMZ保留足够的空间即可

大小和vo 分辨率相关,一般420的情况是buffer_size = W*H*3/2,buffer个数有API可设

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-13 10:34:00
认可0
谢谢楼上的回答,虽然我猜测也是这样的。
id=1内存块大小是1585152 ,我VGA配置大小1366x768,
我想推测下怎么计算出1585152这个值的:
公式推论:
首先16字节对齐,1366 换算为 1376 ,768 换算后为768
1376*768*3/2=1585152
这个推论结果是正确的,看来确实是这样计算的。
我不明白的是VGA显示器不是因该使用R分量,G分量,B分量来传输的吗,怎么缓冲区是一个YUV420格式的。
我其实猜测过大小应该是:1376*768*3=3170304,但结果明显不对,只是想不明白VGA显示使用一个YUV420格式的缓冲区。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-13 10:35:51
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48231&ptid=14830]yanjinbin 发表于 2017-4-13 10:34[/url]
谢谢楼上的回答,虽然我猜测也是这样的。
id=1内存块大小是1585152 ,我VGA配置大小1366x768,
我想推测下 ...[/quote]

图像是420的,输出时直接转换,不需要用RGB的buffer

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-13 19:39:17
认可0
谢谢楼上回答,
那么就是缓冲区YUV420格式,在输出到VGA前,有个模块专门将YUV420格式转换为RGB格式然后输出到VGA显示。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区