前言,

DFB 是现代嵌入式视频应用里面,包括H5图形应用里面经常遇到的一个开源模块,然而,发现,居然,介绍DFB模块的博客非常的少,这里希望能够,借鉴一下前人的思路,稍微深入一点展开一段介绍。

1 DFB 的软件源码的结构:

在阅读李先静先生的介绍之前,我们先尝试比较直接的方式,下载一个源码,打开它,然后,看看这里面都有些什么?
幸运的是我们在源码阅读网站:https://sourcecodebrowser.com/ 发现了DFB的代码架构图。这里,我们可以很方便,而且比较直观的观察代码相关性。

1.1 DFB 源码组织

下图是DFB的基本软件结构,下面蓝色的连接里面都有模块相关性的关系图。对应研究各个directfb的模块关系还是很有帮助。本文特意copy了原始的链接过来。

DirectFB-0.9.25.1

  • gfxdrivers

    • ati128
    • cle266
    • cyber5k
    • i810
    • i830
    • mach64
    • matrox
    • neomagic
    • nsc
      • include
    • nvidia
    • radeon
    • savage
    • sis315
    • tdfx
    • unichrome
  • include
  • inputdrivers
    • dbox2remote
    • dreamboxremote
    • elo
    • gunze
    • h3600_ts
    • joystick
    • keyboard
    • linux_input
    • lirc
    • mutouch
    • penmount
    • ps2mouse
    • serialmouse
    • sonypi
    • ucb1x00_ts
    • wm97xx_ts
  • interfaces
    • IDirectFBFont
    • IDirectFBImageProvider
      • mpeg2
    • IDirectFBVideoProvider
  • lib
    • direct
    • fusion
      • shm
    • voodoo
  • proxy
    • dispatcher
    • requestor
  • src
    • core
    • display
    • gfx
      • generic
    • input
    • media
    • misc
    • windows
  • systems
    • fbdev
    • osx
    • sdl
    • vnc
    • x11
  • tools
  • wm
    • default
    • unique
      • classes
      • devices

参考:

1 directfb  0.9.25.1

https://sourcecodebrowser.com/directfb/0.9.25.1/dirs.html

2  李先静前辈的Directfb导读的博客

http://blog.csdn.net/absurd/article/details/1001641

Directfb【01】 基础模块和基本运行机制介绍 -- 源码结构分析图相关推荐

  1. 第43课: Spark 1.6 RPC内幕解密:运行机制、源码详解、Netty与Akka等

    第43课: Spark 1.6 RPC内幕解密:运行机制.源码详解.Netty与Akka等 Spark 1.6推出了以RpcEnv.RPCEndpoint.RPCEndpointRef为核心的新型架构 ...

  2. JVM类加载机制(ClassLoader)源码解析

    http://blog.csdn.net/chenyi8888/article/details/7066569 其实JVM类加载机制,简单地说就是类管理,也就是我们生成的class文件. 三个步骤:装 ...

  3. Linux嵌入式驱动开发01——第一个驱动Hello World(附源码)

    文章目录 全系列传送门 引言 驱动介绍 Hello World 1. 包含头文件 2. 驱动模块的入口和出口 3. 声明信息 4. 功能实现 完整代码 编译 第一种方法 第二种方法 编译成模块 第一步 ...

  4. android 开发零起步学习笔记(二十二):ANDROID应用ACTIVITY、DIALOG、POPWINDOW、TOAST窗口添加机制及源码分析(一)

    原文:http://www.cnblogs.com/shanzei/p/4654817.html 第一部分: ANDROID应用ACTIVITY.DIALOG.POPWINDOW.TOAST窗口添加机 ...

  5. Dubbo第三讲:Dubbo的可扩展机制SPI源码解析

    本文是Dubbo第三讲:Dubbo的可扩展机制SPI源码解析 文章目录 1.Dubbo SPI机制 1.1.Dubbo具有良好拓展性的原因 1.2.Dubbo SPI和Java SPI的区别? 1.3 ...

  6. 深度分析Java的ClassLoader机制(源码级别)

    转载自 深度分析Java的ClassLoader机制(源码级别) Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取 ...

  7. erlang下lists模块sort(排序)方法源码解析(二)

    上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel ...

  8. fetch first mysql_MySQL多版本并发控制机制(MVCC)源码浅析

    MySQL多版本并发控制机制(MVCC)-源码浅析 前言 作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾.<>诚然讲的非常透彻,但只能提纲挈领,不能让 ...

  9. 图文深度解析Linux内存碎片整理实现机制以及源码

    图文深度解析Linux内存碎片整理实现机制以及源码. 物理内存是以页为单位进行管理的,每个内存页大小默认是4K(大页除外).申请物理内存时,一般都是按顺序分配的,但释放内存的行为是随机的.随着系统运行 ...

最新文章

  1. setBackgroundResource和setImageResource的区别
  2. Guava库学习:学习Collections(二)Lists
  3. 使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)
  4. JSON学习笔记(三)- 数组
  5. Python + wordcloud + jieba 十分钟学会用任意中文文本生成词云
  6. php 信号量 关闭,php 信号量
  7. sql计算留存_SQL无所不能:DBA宝妈宝爸系列分享
  8. jQuery css
  9. 173. 二叉搜索树迭代器/94. 二叉树的中序遍历/145. 二叉树的后序遍历/98. 验证二叉搜索树
  10. 信息学奥赛一本通 1063:最大跨度值 | OpenJudge NOI 1.5 06:整数序列的元素最大跨度值
  11. 基于华为云对话机器人技能平台的规则模板概述
  12. JavaScript中的match方法和search方法
  13. 使用OUTPUT从句从SQL Server表删除和归档大量记录
  14. 基于VAR模型出国留学人数增加的影响因素分析
  15. android中timepicker 常用属性,android – 如何读取TimePicker选择的值?
  16. 基于RLE的matlab图像无损压缩实现
  17. java世界杯hashmap,Java练习题_Map 利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。...
  18. 一种用于指导模拟 IC 布局的定制图神经网络模型
  19. 【IoT】2023裁员潮还在继续,构建规划能力也许是一剂良方
  20. java利用redis的setIfAbsent和incr,实现自增,限制总数

热门文章

  1. 【JAVA 第三章 流程控制语句】课后习题 编写判断从键盘输入的字符串是否为回文
  2. 解决 Linux 端口被占用问题
  3. Vue 调试工具 vue-devtools 安装及使用
  4. C#LeetCode刷题之#867-转置矩阵(Transpose Matrix)
  5. C#LeetCode刷题之#121-买卖股票的最佳时机(Best Time to Buy and Sell Stock)
  6. 两台电脑怎么共享文件
  7. 宏定义中有浮点数_GEO是什么?还可以定义新的数据类型吗?
  8. 两种方式实现word转markdown
  9. Ubuntu软件安装
  10. Maven实战 | dependencies与dependencyManagement