多媒体开发之---开源库ffmeg的log之子解析_h5


用了ffmeg快两年了,对其中的log甚是感兴趣,今天在做8148项目是,解读h264结构,看了《毕-新一代视频压缩编码标准h246》 ,在第六章中的重排序里面看到了好熟悉的4x4矩阵zig-zag扫描(帧模式),就联想到了ffmpeg。

原来:

(1)、zig-zag:

Zig-Zag,量化系数的Z行排序。为了保证低频分量先出现,高频分量后出现,以增加行程中连续“0”的个数,这63元素采用了“之”字型(Zig-Zag)的排序方法。

(2)、原来h264、jpeg压缩采用zig-zag对DCT矩阵进行编码,这个图示意输入的矩阵,黑点是矩阵的元素,现在需要输出个数组,按照箭头所指的顺序把矩阵元素重新排列。

输入是zig-zag绕行排列的矩阵,输出是一维数组 ,可以编程看到效果:

static int Zig_Zag【8】【8】={

                {0,1,5,6,14,15,27,28},

                {2,4,7,13,16,26,29,42},

                {3,8,12,17,25,30,41,43},

                {9,11,18,24,37,40,44,53},

                {10,19,23,32,39,45,52,54},

                {20,22,33,38,46,51,55,60},

                {21,34,37,47,50,56,59,61},

                {35,36,48,49,57,58,62,63}

                                        };