- 博客(4)
- 资源 (1)
- 收藏
- 关注
转载 【转载】H264帧格式解析
所有位于IDR帧后的B帧和P帧都不能参考IDR帧以前的帧,而普通I帧后的B帧和P帧仍然可以参考I帧之前的其他帧。IDR帧阻断了误差的积累,而I帧并没有阻断误差的积累。B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。疑问:按照GOP、IDR帧、I帧的解释,如果一个GOP出现除去第一个IDR帧之外的I帧,是不存在的,那这样的话,就不存在非IDR的I帧了,可是为什么还要说明非IDR的I帧呢。
2025-05-24 22:33:02
14
原创 C++11特性shuffle()
shuffle可随机打乱数组使用场景,例如常见的快速排序,当数组元素很对且基本有序时,时间复杂度会退化成o(n2)。优化方式有很多种,这里结合c++11特性shuffle()函数, 来优化快排时间复杂度 #include <iostream> #include <algorithm> #include <random> using namespace std; vector<int> sortArray(vec
2022-04-08 22:33:29
2988
原创 C++11实现线程池
最近在实现一个跨平台项目,需要用到线程池,然后c++本身不自带线程池,就只能自己实现了,这里只是实现了一个包含线程池基础功能简单版本的例子,做个记录头文件 ThreadPool.h#pragma once#include<iostream>#include<thread>#include<mutex>#include<condition_variable>#include<memory>#include<queue>
2022-03-14 21:51:29
2231
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人