Articles by YF
x264 Adaptive Quant
Outline
Adaptive Quant is claimed as the biggest performance improvement of x264 optimization history. According to AQ's author Jason Garrett-Glaser's explaination variance-based adaptive quantization
The (very rough) intuitive justification works something like this. Imagine every macroblock has just one frequency coefficient. This coefficient can be big or small. If a …
x264 Slice Type Decision
Outline
Doc of MB Tree
Process
The x264 decide slice type in a GOP structure unit, which include one reference frame (I,P) and no / several non-reference frame (B). The processed frame will be shift out frame lookahead frame list and put into frame's current list.
if( !h->frames.current …
x264 Rate Control
Outline
Rate control allows selection of encoding parameters to maximize quality under the constraint imposed by specified bitrate and decoder video buffer. The rate control in H.264/AVC can be performed at three different granularities – group of pictures level, picture level and macroblocks level. At each level, the rate …
H264 De-blocking Filter
Introduction
A deblocking filter is a video filter applied to decoded compressed video to improve visual quality and prediction performance by smoothing the sharp edges which can form between macroblocks when block coding techniques are used. Here is an artical and web page introduce the H264 in-loop filter.
Description of …
H264 Entropy Coding
Introduction
The entropy coding is another very important part of video coding. The purpose of entorpy coding is to compress the syntax data, residual pixel data. The h264 standard specifies two types of entropy coding: Context-based Adaptive Binary Arithmetic Coding (CABAC) and Variable-Length Coding (VLC)
Variable Length Coding (VLC)
- Exp-Golomb …
H264 Motion Estimation & Inter Prediction
Introduction
Inter prediction creates a prediction model from one or more previously encoded video frames. The model is formed by shifting samples in the reference frame(s) (motion compensated prediction). The AVC CODEC uses block-based motion compensation, the same principle adopted by every major coding standard since H.261. Important …
H264 Intra Prediction
Introduction
The purpose of intra prediction is to eliminate the space relationship of current picture. Before H264, there are almost no 'modern' intra prediction. Usually use DC prediction (MPEG2/MPEG4) and AC prediction (MPEG4) to act as intra prediction. Another purpose of intra prediction is that he prediction process does …
H264 Transform, Quant & Dequant Algorithm
Introduction
Each residual macroblock is transformed, quantized and coded. Previous standards such as MPEG-1, MPEG-2, MPEG-4 and H.263 made use of the 8x8 Discrete Cosine Transform (DCT) as the basic transform. The “baseline” profile of H.264 uses three transforms depending on the type of residual data that is …
x264 Encoder Open
Outline
In this chapter, we make a brief review of `x264_encoder_open' function. In this function, x264 mainly did several jobs like
x264_threading_init // initial thread x264_validate_parameters // validate the configure parameters x264_sps_init // initial sps parameters x264_pps_init // initial pps parameters x264_cqm_init // quant & dequant parameters initial Init frames parameters, such as max reference numbers …