自定义博客皮肤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 129

原创 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 195

原创 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 202

原创 简单线程池的实现

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 137

原创 C++小技巧

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

2021-05-11 17:24:04 174

原创 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 1078

原创 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 1703

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

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

2021-04-14 16:53:42 457

原创 H264数据类型

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

2020-01-04 19:25:16 359

原创 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:描述需要监视最大文件描述符+1 rdset:监视的可读文件描述符的集合 rdset:监视的...

2020-01-04 14:46:41 1594

原创 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 1043

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

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

2018-04-24 11:19:55 4581

空空如也

空空如也

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

TA关注的人

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