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

原来:

(1)、zig-zag:

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

http://www.baike.com/wiki/Zig-Zag

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

http://zhidao.baidu.com/link?url=n2kG1II06sQJnkjpKseMQZIrUUEqmtsv4BD50sGnAOenDmOKXxkQiA0h59-Xi37g9Rjx-ys3ByxXHS7ppGZ81q

输入是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}
                                        };

多媒体开发之---开源库ffmeg的log之子解析的更多相关文章

  1. 无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号

    无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号 参考官方配置指南:http://glew.sourceforge.net/install.html 1. ...

  2. Android 开发:开源库Speex支持arm64的动态库文件

    随着处理器制造工艺的不断进步,和Android系统的不断发展,最近出了arm64-v8a的架构,由于项目中用到了speex的第三方语音编解码的动态库,其他架构的处理器暂不用说,一切正常,唯独到arm6 ...

  3. web开发后端开源库收集

    1.Gregwar/Captcha 项目地址:https://github.com/Gregwar/Captcha

  4. 33 款主宰 2017 iOS 开发的开源库

    推荐一篇文章 改文章汇聚了现在主流的一些三方框架,很值得一看 https://mp.weixin.qq.com/s/ICodliohtzbmA-eLKRFT-Q

  5. 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善

    链接地址:http://www.tuicool.com/articles/jyA3MrU 时间 2015-01-05 10:08:18  我是程序猿,我为自己代言 原文  http://blog.cs ...

  6. ios很好的开源库

    Tim9Liu9/TimLiu-iOS 自己总结的iOS.mac开源项目及库,持续更新.. 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD ...

  7. iOS开发常用第三方库

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  8. iOS开发--开源库

    图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩 ...

  9. iOS----精品开源库-开发强力助攻

    30个精品iOS开源库,超强助攻 你不会想错过他们,真的. 我爱开源.  文章的尾部你会看到一个太长不看的版本——一个简单的列表,只有标题和到项目的链接.如果你发现这篇文章是有用的,把它和你的iOS开 ...

随机推荐

  1. 尝试解答java内存问题

    在园子中看见了这个园友的问题,高手指点一下,关于编写Java程序让Jvm崩溃,恰巧这两天看了点相关的东西,也尝试了一下,下面是仁兄提出的第一个疑问,我来复现一下: package jvm; publi ...

  2. HTML 中的 dl(dt,dd)、ul(li)、ol(li)

    HTML <dl> 标签 #定义和用法 <dl> 标签定义了定义列表(definition list). <dl> 标签用于结合 <dt> (定义列表中 ...

  3. linux之vim命令

    :tabe fn     在一个新的标签页中编辑文件fngt     切换到下一个标签页gT     切换到上一个标签页:tabr     切换到第一个标签页:tabl     切换到最后一个标签页: ...

  4. 怎样设计REST中间件---中间件JSON对数据库数据的组织

    怎样设计REST中间件---中间件JSON对数据库数据的组织 SQL查询语句有:select SQL非查询语句有:insert, update, delete 三种 中间件JSON对数据库数据的组织也 ...

  5. linux 通过两个网卡,连接不同的不同的网段

    linux数据包转发功能 A:192.168.xxx.xxx   B:172.24.xxx.xxx, 从而实现了A网段和B网段的互通. 原因Linux机器可以通过设置实现数据包的转发功能. #echo ...

  6. 解决no declaration can be found for element 'context:component-scan'

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  7. spring自动装配(No qualifying bean )

    No qualifying bean of type [com.wfj.service.cms.main.ChannelMng] found for dependency: expected at l ...

  8. win10 如何配置 java jdk1.8环境变量(2017.8.17 )jdk1.8.0_144

    win10 如何配置 java jdk 环境变量 2017.8.17 本篇还适用于 windows server 2012. windows server 2014+ 一.安装 下载 jdk 64位 ...

  9. foreach和volist的区别

      foreach和volist的区别   1.foreach标签foreach标签用于循环输出:foreach(name,item,key)name(必须):要输出的数据模板变量item(必须):循 ...

  10. odoo分析会计

    odoo财务会计凭证录入时,支持 在凭证行 输入 分析账户和 分析标签 如果凭证行设置了 分析账户或者分析标签, 则在会计凭证过账的时候, 在分析会计功能建立 分析会计分录 其中, 如果设置了分析账户 ...