From: http://blog.csdn.net/jack_incredible/article/details/7301155
译者:捞刀客
VLC源代码目录树
本节介绍VLC源代码目录树结构,以期使开发者对源代码的分布结构有一个整体的认识。下面的目录按照字母顺序列出,右边为该目录包含的内容描述。
| 目录名称 | 说明 |
|---|---|
| bindings | Java, CIL 和Python绑定 |
| doc | 帮助文档 (不是更新的) |
| extras | 另叙。 |
| include | VLC 头文件 |
| libs | SRTP库和装载库 |
| lxdialog | 制作 menuconfig的文件 |
| m4 | Automake和autoconf的宏文件 |
| modules | 除了src目录外最重要的目录。参考“功能模块目录树”一节 |
| po | i18n (语言翻译)文件 |
| projects | 建立在 libvlc的项目,如Mozilla插件,ActiveX 插件和MacOS X Framework |
| share | 图标,脚本等等 |
| src | 除了功能模块以外最重要的目录。 |
| test | 一些脚本或测试代码 |
extras 的内容
| extras/analyser | 一些代码风格编辑器 (vim,emacs)的宏 和一些valgrindsuppressions |
| extras/buildsystem | 可选的编译系统 |
| extras/contrib | 需要的库文件 (包括Makefiles自动下载和编译(或交叉编译),补丁)。 |
| extras/deprecated | deprecated 文件 |
| extras/misc | 未分类文件 |
| extras/package | 用于软件发布的文件如ipkg,不同的 rpm 规范文件,win32和Mac OS X安装文件。 |
功能模块目录树
| 目录名称 | 子目录 | 说明 |
|---|---|---|
| access | 通过网络获取视频流的协议(http,ftp,fake,tcp,udp等),获取物理媒体介质的媒体内容如cd,dvd。 | |
| cdda | 读取CD音频的输入模块 | |
| dshow | DirectShow获取插件,用于WINDOWS平台下的编码卡。 | |
| dvb | 使用V4L2API的输入模块,用于DVB-S/C/T媒体流。 | |
| mms | 基于TCP,UDP的MMS和HTTP获取模块 | |
| rtsp | ||
| screen | 获取屏幕图像的输入模块。 | |
| vcd | 获取VCD数据的输入模块。 | |
| vcdx | 获取VCD输入模块,可以导航,静止 | |
| access-filter | 包含下面的滤波器:timeshift, record, dump | |
| access-output | ||
| audio-filter | 各种音频滤波器如解码,均衡,转换。 | |
| channel-mixer | 各种混合器,解码器如 Dolby解码器 | |
| converter | 定点或浮点音频格式转换如 AC/3,MPEG I-II 音频层1,2, 3 解码 | |
| resampler | 各种音频重采样模块 | |
| audio-mixer | 混合器插件 | |
| audio-output | 音频输出插件如ALSA,OSS和 DirectX音频 | |
| codec | 各种编解码,特别是ffmpeg | |
| cmml | 持续媒体标记语言,脚本/超链接解释器 | |
| dmo | 一个DirectMediaObject解码器,利用DirectMedia对WMV3视频解码 | |
| ffmpeg | ffmpeg 库的视频解码器 | |
| spudec | RLE DVD 小标题解码 | |
| xvmc | XVMC视频输出和解码 | |
| control | 控制播放器的各种接口:手势, 热键,lirc,远程控制和telnet | |
| http | HTTP远程控制 | |
| demux | 不同的解复用程序 | |
| asf | ASF 解复器 | |
| avi | AVI文件流解复器 | |
| mp4 | MP4文件输入模块 | |
| mpeg | ||
| playlist | 播放清单导入模块 | |
| gui | 不同平台的用户界面和 ncurses接口 | |
| beos | 用于BeOS的音频输出,视频输出和用户界面输出。 | |
| macosx | Mac OS X 视频输出和用户界面模块 | |
| pda | iPaq用户接口,使用Gtk2+widget集. | |
| qnx | QNX RTOS 插件 | |
| qt4 | 使用Qt4库交叉编译的用户界面模块。该模块是默认的界面库 | |
| skins2 | 换夫模块。 | |
| wince | Pocket PC 接口 | |
| wxwidgets | 使用wxWindows库跨平台的接口。作为默认的接口的VLC版本是0.86a. | |
| meta-engine | ||
| misc | ||
| dummy | 哑 (没有GUI)音频输出,视频输出,用户接口和输入模块。 | |
| memcpy | 内存快拷贝模块 | |
| notify | 通知,使用libnotify | |
| playlist | ||
| probe | ||
| testsuite | ||
| xml | LibXML 和 xtagxml 解析 | |
| mux | Various Muxers | |
| mpeg | ||
| rtp | ||
| packetizer | 打包模块,用于H264/AVC和MPEG 4音视频流。 | |
| services-discovery | ||
| stream-out | ||
| transrate | ||
| video-chroma | 图像格式转换,如 YUV到 RGB | |
| video-filter | 各种视频滤波模块如Deinterlace,Transform, Wall, Crop, Panoramix 等等。 | |
| video-output | ||
| directx | WINDOWS视频输出模块,使用Direct3D和Direct X API,OpenGL | |
| qte | QT嵌入式视频输出模块 | |
| x11 | X11 API视频输出模块 | |
| visualization | 多种可视化模块,包括goom | |
| galaktos | 输出到 OpenGL的可视化模块 | |
| visual | 可视化系统 |