MediaInfo代码阅读】的更多相关文章

  MediaInfo是一个用来分析媒体文件的开源工具. 支持的文件非常全面,基本上支持所有的媒体文件. 最近是在做HEVC开发,所以比较关注MediaInfo中关于HEVC的分析与处理. 从MeidaInfo的官网上下载下来的代码比较庞大,工程比较多,但是代码阅读的一个关键在于,先要抓住主干,然后再不断的深入.先找到自己关注的地方,然后分析,之后再进行分析一些相关的代码. 此处下载的是mediainfo 0.7.72版本. 从下图可以看出,mediaInfo中包括了诸多的工程.   其中,Me…
Understand 2.0是一款源代码阅读分析软件,功能强大.试用过一段时间后,感觉相当不错,确实可以大大提高代码阅读效率.由于Understand功能十分强大,本文不可能详尽地介绍它的所有功能,所以只列举本人认为比较重要或有特色的功能,以做抛砖引玉之举. Understand 2.0可以从http://www.scitools.com/下载到,安装后可以试用15天. 使用Understand阅读代码前,要先创建一个Project,然后把所有的源代码文件加入到这个Project里.这里我创建了…
我在Android上的代码阅读器用的是 https://github.com/zerob13/CoderBrowserHD 改造的版本,改造后的版本我放在 https://github.com/ghj1976/CoderBrowserHD 了.   主要的改造如下: 升级项目成 Android Studio 的项目 git 下载 https://github.com/zerob13/CoderBrowserHD 后的项目改造步骤如下: 1.Clone 到自己本地 2.Import Project…
Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_ioctl实现网络接口的配置的. 具体方法大致如下,即建立一个socket,得到一个fd,然后在此fd上执行ioctl即可完成各种操作(例如,查询/配置mac.ip.mtu,启动/停止网络接口). int fd = socket(AF_INET, SOCK_DGRAM, 0); ioctl(fd, SI…
Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int protocol); int bind(int sockfd, const struct sockaddr *addr,  socklen_t addrlen); int connect(int sockfd, const struct sockaddr *addr,  socklen_t addrl…
Scitools出品的Understand 2.0.用了很多年了,比Source Insight强大很多.以前的名字叫Understand for C/C++,Understand for Java,Understand for Ada,最近这几年合并成了一个产品. 最值得一提的是各种关系图的绘制,以及在这些图上的交互操作:Declaration Graphs / Hierarchy Graphs / Control Flow Graphs / Dependency Graphs / UML C…
初始能力 让阅读思路保持清晰连贯,主力关注在流程架构和逻辑实现上,不被语法.技巧和业务流程等频繁地阻碍和打断. 建议基本满足以下条件,再开始进行代码阅读: 具备一定的语言基础:熟悉基础语法,常用的函数.库等: 了解业务背景和逻辑: 了解设计模式.熟悉编程和构建工具的使用.了解代码风格: 工具使用 Source Insight - 具有强劲的代码浏览和分析功能 Doxygen - 项目文档工具 grep命令 - 用于全局搜索 利用代码结构分析功能或插件生成UML图 Python Call Grap…
1 初始能力 让阅读思路清晰连贯,保持在程序的流程架构和逻辑实现上,不被语法.编程技巧和业务流程等频繁地阻碍和打断. 语言基础:熟悉基础语法,常用的函数.库.编程技巧等: 了解设计模式.构建工具.代码风格: 了解业务背景和逻辑: 即便此时,还不具备完全理解代码的能力,但通过接触这些代码,至少可以熟悉项目的样貌. 2 工具使用 Source Insight - 具有强劲的代码浏览和分析功能 Doxygen - 项目文档工具 grep命令 - 用于全局搜索 利用代码结构分析功能或插件生成UML图 P…
引言 Bleve是Golang实现的一个全文检索库,类似Lucene之于Java.在这里通过阅读其代码,来学习如何使用及定制检索功能.也是为了通过阅读代码,学习在具体环境下Golang的一些使用方式.代码的路径在github上https://github.com/blevesearch/bleve. Index Mapping是bleve的一个功能特性,用来控制每个类型的文档,文档内的每个字段,具体应该如何被分析.索引.存储,这部分与Lucence的设计思路相同. 1 IndexMapping的…
问题:分析下面代码 cities['_find'] = find_city city_found = cities['_find'](cities, state) 分析过程: 一个函数也可以作为一个变量,def find_city比如这一句创建了一个你可以在任何地方都能使用的变量.在这段代码里,我们首先把函数find_city放到叫做cities的字典中,并将其标记为'_find'. 第二行代码可以分解成如下步骤: 1. Python 看到city_found = 于是知道了需要创建一个变量.…