ARM NEON 技术是针对Arm Cortex-A/R52
系列处理器的一种高级 SIMD 架构扩展。NEON 技术在 Armv7-A 和 Armv7-R 架构时开始引入,现在同样是 Armv8-A 和 Armv8-R 架构的扩展。
NEON 技术使用场景非常多,例如通过提高音视频编解码速度来提供更好的多媒体体验、加速数字信号处理算法和功能来加速音视频处理的应用、语音和面部识别、计算机视觉和深度学习。
Film Grain
在电视和电影内容中广泛存在,它经常是创作内容的一部分,在编码过程中需要保留下来,因为film grain
的随机性,导致很难用传统的压缩算法进行压缩。
数据对齐会影响到计算机访问内存以及占用内存的空间大小。
本文主要记录学习完 CSAPP 的优化程序性能章节。程序的优化主要有三种方法:选择合适的算法和数据结构;编写出编译器能够有效优化以转换成高效可执行代码的源代码;将一个任务分成多个部分,使其可以在多核和多处理器的某种组合上并行计算。了解了程序优化的三种方法后,我们必须思考一个问题,既然程序的优化是无止境的,那么优化在什么点算是最好的平衡的,这里的平衡包括程序开发的时间与效率、代码的可读性与性能。想明白了这两点,就不难理解为什么人们不是把所有的语言都用汇编来编写,以及对于性能好但可读性代码差的代码在公司企业中,有的时候并不推崇了。
FFMpeg 作为音视频领域的开源工具,它几乎可以实现所有针对音视频的处理。最近一直做得工作是从 FFMpeg 中提取特定的编解码器,本位以最简单的 TTA Decoder 为例,介绍如何同 FFMpeg 中提取 CODEC。
最近在给现代汽车做一个从 FFMpeg 中提取各个音频解码器的项目,很多都是音频。因为之前做的大多数都是视频项目,音频知识比较匮乏。限制记录一下。
本文主要记录目标文件是i386(32位架构、小端序)ELF
文件的加载过程。本文中的所有代码都是 C 风格,所有代码段都会使用最简单的例子。后面可能会扩展到其他类型的 ELF 文件。
接下来的工作可能要用到汇编语言。