CBR编码码比特率基本保持恒定在目标比特率,有利于流式播放。 CBR的缺点在于复杂场景码率不够用,简单场景码率浪费,因此编码内容的视觉质量不稳定。通常在较低比特率下,这种质量的变化会更加明显。 VBR编码为简单场景分配较大的QP,为复杂的场景分配较小的QP,得到基本稳定的输出视觉质量。 相对于CBR ...
分类:
其他好文 时间:
2016-04-16 15:17:35
阅读次数:
156
x264代码剖析笔记
x264的基本框架仍是采用基于预测+变换的混合编码框架,如下图所示,主要包括:帧内预测、帧间预测、变换与量化、熵编码、滤波等。
下面列举了x264代码剖析的系列文章:
《x264代码剖析(一):图文详解x264在Windows平台上的搭建》
《x264代码剖析(二):如何编译运行x264以及x264代码基...
分类:
其他好文 时间:
2016-04-07 10:56:07
阅读次数:
275
1. 前言 本教程涉及的ffmpeg, x264, x265 2. 环境依赖 2.1 删除系统中安装的ffmpeg等库 sudo apt-get --purge remove ffmpeg mplayer x264 x265 2.2 安装依赖库 sudo apt-get update sudo ap ...
分类:
系统相关 时间:
2016-04-04 16:28:16
阅读次数:
271
x264代码剖析(十七):核心算法之熵编码(Entropy Encoding)
熵编码是无损压缩编码方法,它生产的码流可以经解码无失真地恢复出原始数据。熵编码是建立在随机过程的统计特性基础上的。本文对熵编码中的CAVLC(基于上下文自适应的可变长编码)和CABAC(基于上下文的自适应二进制算术熵编码)进行简单介绍,并给出x264中熵编码对应的代码分析。
在H.264的CAV...
分类:
编程语言 时间:
2016-04-01 18:46:08
阅读次数:
248
x264代码剖析(十五):核心算法之宏块编码中的变换编码
为了进一步节省图像的传输码率,需要对图像进行压缩,通常采用变换编码及量化来消除图像中的相关性以减少图像编码的动态范围。本文主要介绍变换编码的相关内容,并给出x264中变换编码的代码分析。
1、变换编码
变换编码将图像时域信号变换成频域信号,在频域中图像信号能量大部分集中在低频区域,相对...
分类:
编程语言 时间:
2016-03-23 22:31:16
阅读次数:
544
编译X264需要至少 VS2013 update 2 以上版本. 本文使用 VS2015. 示例工程:https://github.com/gitgjogh/FFmpeg-gitgjogh/tree/msvc/build_msvc Confirm vcvar has been imported: n
分类:
其他好文 时间:
2016-03-13 12:54:55
阅读次数:
452
文章文件夹:x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1x264 编码器选项分析 (x264 Codec Strong and Weak Points) 2======================本文简单翻译了MSU实验室做的X264的Op
分类:
其他好文 时间:
2016-03-11 18:59:09
阅读次数:
204
x264代码剖析(七):encode()函数之x264_encoder_encode()函数
encode()函数是x264的主干函数,主要包括x264_encoder_open()函数、x264_encoder_headers()函数、x264_encoder_encode()函数与x264_encoder_close()函数四大部分,其中x264_encoder_enc...
分类:
Web程序 时间:
2016-03-10 12:51:12
阅读次数:
1060
x264代码剖析(五):encode()函数之x264_encoder_open()函数
我们知道x264源码从主观上分为两大块,一是解析函数parse(),另一个是编码函数encode()。解析函数parse()较简单,并且不涉及H.264编码算法,故不是重点,所以我们要学习的重点自然而然地就是编码函数encode()了。
encode()函数是x...
分类:
Web程序 时间:
2016-03-09 11:08:57
阅读次数:
308
x264代码剖析(三):主函数main()、解析函数parse()与编码函数encode()
x264的入口函数为main()。main()函数首先调用parse()解析输入的参数,然后调用encode()编码YUV数据。parse()首先调用x264_param_default()为保存参数的x264_param_t结构体赋默认值;然后在一个大循环中通过getopt_long(...
分类:
Web程序 时间:
2016-03-07 19:21:33
阅读次数:
292