自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 2021-05-20

2021-05-20 10:10:12 87

原创 C++的一些基本算法举例

#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include<string>#include<vector>#include<algorithm>#include <map>#include <list>int main(void){ std::vector<in..

2021-05-14 15:22:49 154

原创 c++ 的重要特殊关键字

const关键字常量是固定值,在程序执行期间不会改变int *const p; // 指针是常量,指向的值可以发生改变(const pointer to int)const int p; //p是常量,无法发生改变const int *p; // p的值(指针)可以发生改变,指向的值不能发生改变(pointer to const int)const int *const p; // 指针和值都不能发生改变(const pointer to const int)...

2021-05-12 15:06:19 123

原创 简单线程池的实现

1. 简单版本的#include <iostream>#include <cstdlib>#include <cstdio>#include <string>#include<vector>#include<algorithm>#include <map>#include <queue>#include <sys/types.h>#include <unistd.h&gt

2021-05-12 11:20:50 79

原创 C++小技巧

C++重点知识小技巧带多态性质的 bass classes 应该声明一个virtual析构函数,如果class带有任何virtual函数,它就应该拥有一个virtual析构函数。 classes的设计目的不是作为base classes使用,或不是为了具备多态性,就不应该声明virtual析构函数,会增加额外的内存空间析构函数绝对不要吐出异常。如果一个被析构函数调用的函数可能抛出异常,析构函数应该捕捉任何异常,然后吞下他们(不传播)或结束程序 ...

2021-05-11 17:24:04 119

原创 TCP拥塞窗口调优方法

拥塞控制主要是四个算法:1)慢启动,2)拥塞避免,3)拥塞发生,4)快速恢复。这里不讲原理,原理谷歌一下有很多讲的非常好的这里只讲一下自己在tcp传输大数据的时候进行的一些网络调优,流量控制的操作。虚拟机的拥塞控制算法默认选择的是cubic, 用这个tcp_congestion_control字段控制。1.禁用慢启动,echo "0" > ecp_slow_stat_after_idle;设置0可以让tcp一直保持在高速传输状态的拥塞窗口。2.设置cwnd的初始值 ..

2021-04-22 09:29:57 915

原创 I420转NV12格式

分享一个自己写的I420转NV12的函数yuv420图片格式主要有I420、YV12、NV12、NV21这几种,通常NV12、NV21常常使用在手机端的编码,属于YUV420SP;YUV420SP表示UV交错排列成为一个平面,和Y一共为两平面YUV420P是UV顺序排列,一共三个平面void yuvI420ToNV12(uint8_t *I420, uint8_t *NV12, int width, int height){ int ySize = width * heigh

2021-04-20 20:32:08 1489

原创 C++的STL之安全队列

C++的STL是线程不安全的,如果想要在多线程中使用的话需要加锁,这里简单封装了如下四个接口入队操作阻塞式等待非阻塞式等待判断是否为空代码如下所示:#include <thread>#include <mutex>#include <condition_variable>template<typename T>class ThreadSafeQueue {public: ~ThreadSafeQueue() =

2021-04-14 16:53:42 342

原创 H264数据类型

SPS 00 00 00 01 67PPS 00 00 00 01 68I帧 00 00 00 01 65P帧 00 00 00 01 61H264裸流数据一般是IDR帧 + P帧;实际写MP4文件时候只需要提前把SPS、PPS写入到媒体信息中就可以了,mdat只需写入I和P帧的数据。H264帧区分很明显,不用做其它处...

2020-01-04 19:25:16 307

原创 select()函数的定时器实现

#include<sys/time.h>#include<unistd.h>int select(int maxfd, fd_set *rdset, fd_set *wrest, fd_set *exset, struct timeval *timeout);maxfd:描述需要监视最大文件描述符+1rdset:监视的可读文件描述符的集合rdset:监视的...

2020-01-04 14:46:41 1455

原创 MP4文件格式总结

mp4文件作为视频监控的主流媒体文件,框架结构也不算复杂,主要由一系列的box组成,这里简单解析一下。 查看mp4文件的软件:MP4 Reader.1.mp4文件的总体结构2.各组成分析ftyp :file type box 存储文件类型mdat :media data box 存储媒体的具体内容moov:movie box 存储媒体的信息这三个是一个M...

2020-01-04 10:55:37 957

原创 基于G-sensor的计步解决方案

基于G-sensor的计步解决方案一、  计步模型特征 G-sensor可以检测三轴加速度(单位g),静止的时候只检测重力加速度一个G;人在步行的时候,相对于运动姿态会产生相应方向加速度。                                                      图1 步行姿态示意图         如图1所示,步行的时候主要运动方向是前进方向和垂直方向,呈现周期...

2018-04-24 11:19:55 4129

空空如也

空空如也

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

TA关注的人

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