自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 【视频编解码】M-JPEG压缩、H.264压缩 对比

参考这篇文章:https://blog.csdn.net/qq_41248872/article/details/83590337写的比较好,这里就不赘述了。jpeg 压缩h264 压缩当然使用最多的还是 264, 毕竟他的压缩比高嘛。对于一些实时的场景比较有优势,但是这玩意还是得分不同的场合吧,如果对于带宽没限制,为了更好的画质,还是应该选 jpeg 压缩比较好。

2024-02-20 12:57:39 1479

原创 【linux温故】CFS调度

Linux 的稳定内核版本在 2.6.24 之后,使用了新的调度程序 CFS,所有非实时可运行进程都以虚拟运行时间为键值用一棵红黑树进行维护,以完成更公平高效地调度所有任务。CFS 弃用 active/expired 数组和动态计算优先级,不再跟踪任务的睡眠时间和区别是否交互任务,而是在调度中采用基于时间计算键值的红黑树来选取下一个任务,根据所有任务占用 CPU 时间的状态来确定调度任务优先级。

2024-02-08 00:44:48 684

原创 【linux温故】红黑树

似乎对于 红黑树 ,啥也没讲。。。。

2024-02-07 12:20:43 440

原创 【linux温故】linux调度机制

假如你是设计者,你会设计怎样的调度机制呢?

2024-02-07 03:03:06 1060 1

原创 【操作系统】current指针/内核栈

在内核态(比如应用进程执行系统调用)时,进程运行需要自己的堆栈信息(不是原用户空间中的栈),而是使用内核空间中的栈,这个栈就是进程的内核栈。

2024-02-07 00:28:43 926 1

原创 【linux温故】MMU

比如,把一些最近用到的一些映射条目,放到CPU 的高速缓存中,每次在访问内存前,看看缓存是否可以命中,如果可以命中,就直接走 TLB 中的条目,就不用查内存了,提升了效率。相反地,当一些长时间不用的 页,长时间占用内存,内存管理模块会通过某种机制,将这些“占着茅坑不拉屎”的page,交换到磁盘,释放宝贵的内存空间。但是有个问题,就是,效率很低,上面这些页表,其实都是放在内存的,每次查询页表,都要访问内存,效率非常低。这时候,就需要有个机制,帮我们访问的 虚拟地址,转换为 物理地址。大致,就是这个原理。

2024-02-06 20:53:27 334

原创 【leecode】堆排序

算法步骤参考了:https://www.bilibili.com/video/BV1fp4y1D7cj/?可以根据 下标,快速定位其 父节点、右孩子、左孩子的下标。完全二叉树是存放在一维数组中的。堆是一颗完全二叉树。

2024-02-06 16:30:48 363

原创 【C++】set/map/unordered_xxx 概念

还有一个 unordered_set , unordered_map。其实 和 set map 一样的,只是说,其内部的实现方式用的是 hash 表。set 就是一个集合,没有key,val,就是一个数值。set 和 map 底层都是 红黑树 实现的,所以,天然的有序存储。hash 表么,搜索,查找,的效率非常高,但是缺点就是 比较耗费空间。map ,你知道的,就是 (key, val) 的键值对的集合。是典型的一个 用空间 换 时间的一种数据结构。set 和 map 都是去重的集合。

2024-02-03 18:01:29 423 1

原创 【C++】vector、stack、queue操作

删除Vector容器中的最后一个元素。

2024-02-03 16:04:44 354 1

原创 【C++】hash map 操作

C++中使用map时可能会遇到重复insert同一个key的情况。这个时候新的值不会覆盖原有的值,而是会忽略这次insert。如果需要修改某个key的值,可以使用赋值的方式。用 find 方法判断是否读取到了 end。用 count 函数判断是否为 0。

2024-02-03 15:58:19 383 1

原创 【linux内核】do_while0 的作用

其实就是,一些宏的逻辑比较复杂,多条语句,需要用 {} 括起来。funA();funB();funA;funA();funB();funB;funA();funB();但是我们一般的编程习惯是在一个函数,或者语句后面添加一个;if(判断条件)//宏展开后为:if(判断条件)funA();funB();//此处替换后多一个分号;导致编译报错为了,解决这个问题,我们如果使用 do while(0) 就能完美规避这个问题。注意, do while(0) 后面不要加 分号。

2024-01-30 12:35:50 388 1

原创 【leecode】二叉树的前中后序遍历

刷题的时候,这玩意肯定会遇到的,而且一般是初学者的一个大坑。递归法很简单,迭代法第一次看还看不出个所以然,得看了几次,加上背算法细节,记忆,才可以,理解了再去记忆,几乎不可能,那就死记硬背。。。我也是这个过程。今天又重点看了下这个算法,通过别人的讲解优点启发,一下子就写出来三种遍历方法,有了自己的一套方便记忆的方法,算是开窍了。个人还是比较推荐 leecode 上面的官方解法,不要去迷信什么统一的结构,什么代码随想录上的,个人感觉太复杂了。官方解法比较简洁,但是优点难理解而已。。

2024-01-20 13:02:32 350

原创 【视频编解码】使用librtmp实现本地推流

这个文档详细介绍了,如何在本地ubuntu上搭建自己的流服务器。并通过librtmp进行测试。1.0 背景客户需要我们提供rtmp推流的源代码,然后他们DVR的供应商会负责移植到盒子中。这个demo演示了如何用c实现rtmp推流。2.0 安装配置流服务器下面详细介绍如何在ubuntu14.04上安装配置流服务器2.1 安装 nginx$ sudo apt-get install bui...

2019-08-13 15:48:07 2398 1

原创 【视频编解码】H264入门

前言为啥要写这个呢?网上关于h264的文章多如牛毛,但是很多都不全面,不系统,大多深入细节。本着初学的心态,开始只需要一个大致的框架就ok了。具体细节可以自己google。这篇文章就是适合初学者入门的,注重实践吧。我只是知识的搬运工,几乎所有的内容都是参考了各位大神的文章,再次感谢!OVERVIEW我们平时遇到的视频文件各式各样,五花八门。通常它们会根据格式的不同,而有着不同的扩展名,比如...

2019-06-12 11:44:57 1122 1

原创 opencl demo 在华为荣耀8上测试

关于这个网上的资料很多,参考了各位前辈的文章,然后结合自己在使用过程中遇到的各种坑,摘录如下。参考了这位前辈的文章:https://blog.csdn.net/wjskeepmaking/article/details/700803151.0 新建工程1.1 新建一个android工程工程类型选择,empty activity,在主逻辑中添加代码,这里只是添加了3个label,分别添加了3...

2019-06-10 13:51:54 730

原创 20分钟18块钱搭建简易环境监测站(esp8266(NodeMCU)+DHT11模块+百度天工云平台)

@TOC前言用20分钟搭建一个简易的环境温湿度监测站,并且数据上传到百度天工云平台,并可视化展现。成本仅仅20元!!!百度云天工物联网平台之所以越来越受到开发者的青睐,是因为天工物联网平台提供从物端到云端,从IoT数据接入、设备管理、数据处理、数据存储到数据可视化、物联安全、边缘计算的端到端基础平台,大幅降低物联网应用开发的难度,让物联网应用开发者可以专注于应用的创新。最终效果图首先是硬...

2018-12-21 18:22:40 3702 10

原创 在esp32开发板上实现的web_radio,基于wm8978 codec芯片

在esp32开发板上实现的web_radio,基于wm8978 codec芯片前言下载编译硬件连接烧写测试TODO前言本文介绍了如何在esp32板子上实现自己的web_radio,用的是wm8978 codec芯片。详细代码参考github工程,这里其实是fork了另一位大牛的工程,在原来的工程中,其实已经可以工作。不过,用的是芯片自带的DAC转换而已,效果不是很好。这里考虑了使用外接IIS ...

2018-12-05 20:39:08 4774 5

原创 Mbed在自己的stm32F103RCT6系列平台移植适配

Mbed在自己的stm32F103RCT6系列平台移植适配前言下载安装keil下载mbed已经适配好的demo工程下载mbed创建自己的demo添加mbed的代码编译测试前言本文介绍了如何从零开始在keil中搭建自己的stm32F103RCT6开发环境,其实也没有适配过程,只是一些简单的include代码而已,没啥技术含量,在这里只是做些记录,希望给需要的人一些参考。对于mbed系统,我也是初...

2018-11-28 18:54:56 2348 2

opencv-3.4.3-vc14_vc15.exe

opencv库,用来开发opencv图像处理程序,很不错很不错很不错很不错

2019-04-20

printf格式化打印输出对照表

printf格式化打印输出对照表 每个修饰符的对应格式 经常忘记 方便查阅

2018-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除