Linux应用开发
文章平均质量分 73
快跑bug来啦
这个作者很懒,什么都没留下…
展开
-
海思3559万能平台搭建:ini定制协议输入①校正系统时间
平台的搭建除了海思本身对于音视频的处理,难免需要串口网口之类收发指令并做出处理;每个甲方爸爸对于协议的规定肯定有所差异,以最简单的校对系统时间为例,用网口发送协议,通过ini配置文件加载协议变量的方式实现免编译,只更新ini配置文件就可移植产品功能的作用。原创 2022-11-06 21:45:00 · 712 阅读 · 0 评论 -
linux下对函数运行时间的简单估计
性能的要求一定是在慢慢的成长中一点点接触到的,比如50hz的图像,就需要我们在20ms内将数据处理完成,那我们怎么简单估算下我们代码的运行时间呢?函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。原创 2022-10-19 19:45:00 · 450 阅读 · 0 评论 -
海思3559万能平台搭建:RTSP优化buffpool的引入
在只有一路编码进行rtsp播放和保存时。之前的思路是没有任何问题的,设计比较简单,但是如果我们的运算量上来了,也不仅仅一个通道编码了,编码速率,保存速率,rtsp发送包的速率的差异会越来越大,而每一包的大小又不可能相同,这个时候就需要引入一个缓冲池来平衡输入输出的速率不一致(简单这么理解一下),且解决包大小不同的问题理论部分节选自知乎专栏https://zhuanlan.zhihu.com/p/533321012代码部分给出了缓冲池功能源码以及调用部分代码。原创 2022-11-04 21:45:00 · 923 阅读 · 0 评论 -
海思3559万能平台搭建:协议的采集和解析
做应用的话就难免和协议打交道,最基础简单的协议可能像单片机一样通篇的ifelse,虽然逻辑严谨,但是不论编写还是理解难度都非常头疼。且一旦更改协议,直呼骂人。介绍一种协议定长时的处理方法,解析包头内容和校验,这样搭配着我们之前提到的配置文件,理论上甚至变协议可以做到代码和变文档一样简单!原创 2022-11-03 23:15:00 · 339 阅读 · 0 评论 -
linux多线程同步设计
多线程的开发,不是我们随便将想要并发的内容一股脑写完各干各的就ok了,会有同步和异步的需求,比如我们不知道什么时候要来消息需要阻塞监听时可以用异步,如果我们有稳定的信息源,并且需要在同等间隔的时间内做出高性能的处理时,同步的设计会更恰当一点,多线程之间的同步除了共享内存,常见的还有锁和信号量,单纯的FLAG置位通知什么的信号量也能轻易做到,频繁加锁解锁也会对性能造成影响,选择一个恰当的方式有利于程序的稳定运行,这里介绍一种基础的利用std queue的方式同步运行的方式。原创 2022-10-25 22:45:00 · 323 阅读 · 0 评论