Winddoing's Notes

Follow Excellent, Success will Chase you

0%

CMA,Contiguous Memory Allocator,是内存管理子系统中的一个模块,预留内存的配置解析和管理内存配置。一般系统会在启动过程中,从整个memory中配置一段连续内存用于CMA,然后内核其他的模块可以通过CMA的接口API进行连续内存的分配。CMA的核心并不是设计精巧的算法来管理地址连续的内存块,实际上它的底层还是依赖内核伙伴系统这样的内存管理机制,或者说CMA是处于需要连续内存块的其他内核模块(例如DMA mapping framework)和内存管理模块之间的一个中间层模块,主要功能包括:

  • 解析DTS或者命令行中的参数,确定CMA内存的区域,这样的区域我们定义为CMA area。
  • 提供cma_alloc和cma_release两个接口函数用于分配和释放CMA pages
  • 记录和跟踪CMA area中各个pages的状态
  • 调用伙伴系统接口,进行真正的内存分配。
阅读全文 »

dynamic debug (dyndbg)是内核提供的一个调试功能,允许动态的开关内核打印输出,包含的API:pr_debug()dev_dbg()print_hex_dump_debug()print_hex_dump_bytes()等。
dynamic debug通过设置/dynamic_debug/control文件来控制内核输出,有多种匹配的条件:文件名,函数名,行号,模块名和输出字符的格式;

阅读全文 »

DPB全称 Decoded Picture Buffer,即解码图片缓存区。

在做视频解码时,需要将最近的若干幅参考帧缓存起来,这个缓冲区就叫做DPB。解码已经完成的图像被缓存在DPB中,供后续帧用作参考图像,因此,解码器需要按照一定的规则对DPB中的图像进行管理。

在H264中参考帧最多可以存储16帧参考帧。

阅读全文 »

POC(picture order count):图像播放顺序号,在编解码中视频编码顺序视频的播放顺序,并不完全相同.

视频编码时,如果采用了B帧编码,由于B帧很多时候都是双向预测得来的,这时会先编码B帧的后向预测图像(P帧),然后再进行B帧编码,因此会把视频原来的播放顺序打乱,以新的编码顺序输出码流而在解码断接收到码流后,需要把顺序还原成原本的播放顺序,以输出正确的视频。

B帧的存在导致播放顺序POC和解码顺序frame_num不一致

阅读全文 »

Here's something encrypted, password is required to continue reading.
阅读全文 »

加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。

加密技术包括两个元素:算法密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。

算法分类:

  • 对称加密:密钥只有一个,解密、解密都是这个密码,加解密速度快,典型的对称加密有DESAESRC4 等.
  • 非对称加密:密钥成对出现,分别为公钥和私钥,从公钥无法推知私钥,反之,从私钥也无法推知公钥,加密和解密使用不同的密钥,公钥加密需要私钥解密,反之,私钥加密需要公钥解密。非对称加密速度较慢,典型的非对称算法有:RSA,DSA,DSS.
  • Hash算法: 这是一种不可逆的算法,它常用于验证数据的完整性。
阅读全文 »

原文:https://www.gumlet.com/learn/what-is-h265/

什么是 H.265?

H.265 是一种视频压缩编解码器,是H.264的继承者。 它建立在类似于其前身的概念之上,但由于各地迅速采用4K内容,它变得越来越流行。 在不影响视频质量的情况下,H.265允许以其前身H.264的一半比特率进行视频压缩,使其理论上效率提高一倍。当我们将H.265压缩到与H.264相同的比特率时,我们发现H.265提供了显着改进的视频质量。 由于所有这些优势和升级,H.265使流式传输和下载4K视频变得更加容易——这在H.264中是不可能的,因为它占用了大量空间并且具有高比特率。

阅读全文 »