源码解读
文章平均质量分 96
张叫兽的技术研究院
某信研究院高级研究员,涉猎领域包括:嵌入式操作系统,音视频,应用开发,大数据,人工智能等。信奉源码出真知,喜欢通过分析源码挖掘背后的知识体系。
有朋从远方来,不亦说乎。
展开
-
x264源码解读(三) - 编码前的准备工作(上)
今天开始进入到了x264的核心部分,编码。编码总体分析首先看一下encoder这个函数:staticintencode(x264_param_t*param,cli_opt_t*opt) { ... ... }很多行,但是,就是阅读源码的时候要学会大刀切,不要限于细节,要了解代码的总体结构是怎么样的,其实也就是那么几种,后面可以慢慢体会,比如对于encoder而言,其实总体来分成三部分,编码前的准备,编码进行以及编码收尾工作,一旦你体会到这一点,那么几百行,几千行代码都不...原创 2021-06-05 17:42:15 · 851 阅读 · 2 评论 -
x264源码解读(二)- VCL和NAL那些事
今天我们继续来说一下x264结构中非常重要的属性annexb。小贴士:在阅读这些经典的c库代码的时候,这些,这些大牛们都是会按照一些规范来进行编码,无论是ffmpeg(后面打算再开一个专栏)还是x264,他们结构体的成员还是变量,命名方式习惯采用“数据类型_变量名”,比如b_annexb,代表boolean型,即annexb是一个开关(flag)。annexb如果为true,代表一个NALU的开始3位或者4位是start_code,所谓start_code没有逻辑意义,只是代表一个NALU的起始,或原创 2021-05-28 07:09:54 · 1191 阅读 · 1 评论 -
x264源码解读(一)- 关于颜色空间
x264是h264的一个经典实现,x264其实不单单是对于h264的实现,里面包含了大量的视频相关知识,这个系列,我将和大家一起,通过研究x264的源码来探索音视频的世界。源码下载:git clone https://code.videolan.org/videolan/x264.git 闲言少叙,在根目录中找到x264.c,搜索一下“main(”定位到main函数,扫一眼这个main函数:REALIGN_STACK int main( int argc, char **argv ){原创 2021-05-26 06:15:55 · 616 阅读 · 2 评论