第二季2:视频缓存池的简介

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。

一、视频缓存池的概念

(1)视频的本质是多帧图片,图片的本质是RGB或rawRGB数据,视频要占用一段连续内存。

(2)视频的裁剪、缩放、修正处理等各种操作,本质上就是对内存中的数据进行运算。

(3)视频缓存池(VB,video buffer)就是一段很大而又被合理划分和管理的内存,用来做视频数据的暂存和运算场地。

(4)“公共视频缓存池”中的“公共”,可以理解为全局变量,也就是各个模块都能访问的一段内存。

(5)视频缓存块在各个模块之间流转,实际上并没有内存复制,而是指针在传递。

(6)视频缓存池的内存由MPP来维护,我们在系统启动时就把整个SDRAM分成了2部分:系统部分(由linux kernel来维护管理)和mpp部分(由mpp系统来维护管理)。见博文第一季6:海思方案中uboot、kernel和rootfs的烧写方法中的描述“硬件上的64M内存有两个用途,一部分给OS用,一部分给MPP使用。这里32M指的是OS使用的。(剩余32M给MPP用?)”

(7)公共缓存池需要几个,每个缓存池中包含几个缓存块,每个缓存块多大,都是可以由用户程序设置好参数,然后调用MPP的相应API来向MPP申请分配的。

(8)典型的公共视频缓存池数据流图如下。(图中有两个公共缓冲池A和B,其中A包括A1…An这些缓存块。)

二、有关的数据结构与API

1、结构体VB_CONF_S

VB_CONF_S结构体是对所有公共视频缓存池进行描述,而非描述某个公共缓存池。

typedef struct hiVB_CONF_S
{HI_U32 u32MaxPoolCnt;     /* max count of pools, (0,VB_MAX_POOLS]  */    struct hiVB_CPOOL_S{HI_U32 u32BlkSize;HI_U32 u32BlkCnt;HI_CHAR acMmzName[MAX_MMZ_NAME_LEN];}astCommPool[VB_MAX_COMM_POOLS];
} VB_CONF_S;

(1)u32MaxPoolCnt,表示缓存池的最大数目(与公共缓冲池的最大数目有什么区别?),需要根据实际情况来设置,最大不能超过VB_MAX_POOLS(这个宏的值为256)。

(2)u32BlkCnt,表示公共缓存池(上图中的A或B……)中有多少个缓存块,而u32BlkSize表示每个缓存块的大小。

(3)acMmzName[ ],表示公共缓存池(上图中的A或B……)的名字

(4)VB_MAX_COMM_POOLS,这个宏的值是16,表示最多有16个公共缓存池。

(5)根据业务的不同,公共缓存池的数量、缓存块的大小和数量不同。

2、HI_MPI_VB_SetConf

这是一个 API函数,在某个ko文件里。主要用来设置格式。(点单,返回值表示是否点单成功。)

3、HI_MPI_VB_Init

这是一个 API函数,在某个ko文件里。主要用来进行分配。(做菜,返回值表示是否做菜成功。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中的字符串

1. 值类型与引用类型比较classProgram { staticvoid Main() { int a 9; //给变量a赋值为9 int b a; //将a的副本给变量b b 10; Console.WriteLine(string.Format("a{0},b{1}", a, b)); Person ZS newPerson(); //张三 ZS.Age 99; //张三…

初二计算机辅导记录,信息技术指导老师的讲课笔记十篇(2)

2.教师观念转变多数学生可深入学习新课改模式,积极转变自己的理念,能够在教学上推动角色的转变,成为教师学习的引导者、组织者、合作者。如龙北四小一年级数学老师刘阳让学员观察统计表,提出数学难题,并进行计算&#…

linux nfs配置

这节我们介绍NFS的相关概念,以及如何配置NFS和在客户端中查看NFS。NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容:/home/nfs-share 192.168.1.122 *(rw,sync) 第一项是要共享的目录,后者为共享的配置参…

1080i、1080p、2K、4K是什么意思?

以下内容源于网络资源的学习与整理,如有侵权请告知删除。 一、数字后面的字母含义 “I”指的是“Interlaced scanning”,即隔行扫描;P指的是“progressive scanning”,即逐行扫描。这两个概念是需要电子枪进行扫描的大背头电视的…

Zabbix中文模式:图片下面的字符乱码

2019独角兽企业重金招聘Python工程师标准>>> Zabbix默认字体放在安装目录的fonts下: # ll fonts/ total 21288 -rw-r--r-- 1 www www 21767952 Jun 11 2009 DejaVuSans.ttf 从windows机器上拷贝一个字体替换掉就可以了,如使用"微软雅黑…

计算机常用存储芯片分为内存和什么,计算机类论文范例,与安徽省计算机一级考试宝典相关研究生毕业论文开题报告范文...

计算机类论文范例,与安徽省计算机一级考试宝典相关研究生毕业论文开题报告范文关于计算机及计算机系统及山东自考方面的免费优秀学术论文范文,计算机类论文答辩开场白,关于安徽省计算机一级考试宝典相关论文范例,对写作计算机论文范文课题研究的大学硕士…

简单实用的二级树形菜单hovertree

原创 hovertree是一个仿京东的树形菜单jquery插件,暂时有银色和绿色两种。官方网址:http://keleyi.com/jq/hovertree/欢迎下载使用查看绿色效果:http://keleyi.com/jq/hovertree/hovertreegreen.htm可以设置菜单宽度(width),还可以…

xp系统一直跳出宽带连接服务器,XP系统网络问题解决方案

XP系统网络问题解决方案随着国内 Internet 的普及和信息产业的深化,近几年宽带网络的发展尤为迅速。下面是小编整理的一些生活上Windows XP网络故障的解决方案,希望对你有帮助!故障1:本地连接受限制或无连接很多用户发现,当每次进…

SQL Server 错误18456

第一步、 错误发生的场景 第二步、 找到引起错误的原因 第1步、 查看windows日志文件。 运行中输入 eventvwr (event viewer)打开日志文件查看器, 第三步、 解决方案,由第二步我们可以看出是SQL Server的认证模式引起了问题,所以只要把它改一下就可以…

分析根文件系统中的etc/init.d/rcS文件

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、文件简介 (1)由博文分析根文件系统中的/etc/inittab文件可知,etc/inittab文件的第一行配置项一般是“::sysinit:/etc/init.d/rcS”,这说明控制台…

VirtualBox 扩展虚拟硬盘容量

为什么80%的码农都做不了架构师?>>> 扩展步骤:第一步:修改硬盘镜像文件 1、虚拟机关机. 2、确认虚拟机使用文件(后缀为.vdi的文件)路径不带中文字符. 3、Windows 下按:Windows R,调出命令行工具…

技术和赚钱真的冲突吗?

前几天在微信上看到篇文章,讲述的是大悲寺和少林寺的对比。原文的大意是大悲寺如何如何清苦,烧香不许客户投钱。而少林寺如何的肥头大耳,尤其是方丈释永信是多么多么的会“敛财“。(注意:我们这里抛去一些“确实是敛财…

构造和运行模块

作者:蔡伦辉写在前面作者一直支持GPL的精神。允许任何人自由使用、转载、复制和再分发,但必须保留作者署名,必须保证全文完整转载,包括完整的版权声明。由于作者水平有限,因此不能保证文章内容准确无误,请批…

从零开始构建根文件系统

以下内容源于网络资源的学习与整理,如有侵权请告知删除。 参考博客 Uboot和系统移植(19)------- 根文件系统构建过程详解_big__C的博客-CSDN博客 一、总结 (1)本节在前面的理论分析的基础上,我们开始从零开…

BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会 树形DP

[Usaco2010 Mar]gather 奶牛大集会 Bessie正在计划一年一度的奶牛大集会&#xff0c;来自全国各地的奶牛将来参加这一次集会。当然&#xff0c;她会选择最方便的地点来举办这次集会。每个奶牛居住在 N(1<N<100,000) 个农场中的一个&#xff0c;这些农场由N-1条道路连接&a…

EF部署

2019独角兽企业重金招聘Python工程师标准>>> 部署 当应用程序使用EF后&#xff0c;可以通过Visual Studio来进行部署&#xff0c;即将数据库部署到真实环境中&#xff0c;可以作为正式上线使用环境。在进行部署前&#xff0c;我们也需要先做一些先前准备工作&#x…

uboot源码——根目录下的Makefile文件分析

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 uboot来源于uboot官网&#xff0c;或者SoC官方&#xff08;研发s5pv210这款芯片的公司推出的开发板叫SMDKV210&#xff09;&#xff0c;或者具体开发板的官方&#xff08;深圳市九鼎科技公司推出的…

springside 参考地址

2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/wind520/article/details/8917944 http://blog.chinaunix.net/uid-122937-id-3935052.html 转载于:https://my.oschina.net/china008/blog/330265

虚拟机下安装vmtool

Ubuntu 12.04下安装VMware Tools 安装前准备&#xff1a; 1、一定要先安装 build-essential 软件,否则不能够顺利安装 命令&#xff1a;sudo apt-get install build-essential 2、要安装linux-headers 包&#xff0c;这个包要在配置VMware-tools之前装&#xff0c;即可…

认识伪类元素:before和:after

起因于不理解下图点的写法&#xff0c;后来发现是个很基础的东西 运用了伪类元素:before&#xff0c;如下 注意&#xff0c;他的css写法也是非常简洁高效的。 查阅了些关于伪类before和after的知识帮助理解&#xff0c;以下摘自&#xff1a;http://www.hulufei.com/post/about-…