- 博客(3)
- 收藏
- 关注
原创 数组的循环存入与读取
#define MAXLEN 19 unsigned int ReadPtr = 0;//定义读指针 unsigned int WritePtr = 0;//定义写指针 int Arr[MAXLEN] = {0};//读取的数组 1、循环写入缓冲区 unsigned int BufAdd(int data) { Arr[*WritePtr] = data;//数据写入缓冲区 *WritePtr = ((*WritePtr) + 1) % MAXLEN;//指针+1 return 1;
2020-10-07 11:57:01
752
转载 do{}while(0)的用法
do{…}while(0)的用法 1.帮助定义复杂的宏以避免错误 举例来说,假设你需要定义这样一个宏: #define DOSOMETHING() fun1(); fun2(); 这个宏的本意是,当调用DOSOMETHING()时,函数fun1()和fun2()都会被调用。但是如果你在调用的时候这么写: if(a>0) DOSOMETHING(); 因为宏在预处理的时候会直接被展开,你实际上写的代码是这个样子的: if(a>0) fun1(); fun2(); 如
2020-10-05 17:11:55
340
原创 基于QT播放器的实现(一)Rgb、YUV格式(附带代码)
基于QT播放器的实现(一)Rgb、YUV格式色度空间转换YUV转RGB的公式对本地RGB32视频图像的播放 色度空间转换 YUV颜色模型其实常用于视频传输和图像压缩。由于人类的眼睛,对亮度的敏感度远超过对色彩的敏感度,所以视频传输过程中,为了减小带宽,通常将色彩分量 UV的比例减小,以达到降低带宽的目的。这就出现了YUV4:4:4、YUV4:2:2、YUV4:1:1等格式。 RGB32使用32位来...
2020-04-27 18:29:13
2133
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人