Hacker Guide/Modules source tree

From VideoLAN Wiki
Revision as of 17:05, 24 April 2007 by H2g2bob (talk | contribs)
Jump to navigation Jump to search

This page lists the content of the Modules directory in the source tree of VLC, aimed at giving new beginners an overview of the code.

The directories are listed in alphabetical order, with an overview of their contents on the right. Any first level subdirectories are shown as well.

Note: This table is by no means exhaustive. Note that only plugins with their own subdirectories are listed; plugins inside the parent directories are not emphasized unless they are too important. A comprehensive list of the plugins VLC makes use of can be found here.

Directory Name Subdirectory Name Directory Explanation
access protocols to access streams through network (http,ftp,fake,tcp,udp etc.), access to physical media like cd's and dvd's
cdda input module to read audio CDs
dshow DirectShow access plugin for encoding cards under Windows
dvb input module for DVB-S/C/T streaming using v4l2 API
mms MMS over TCP, UDP and HTTP access module
screen an input module that takes screenshots of the primary monitor
vcd input module for accessing Video CDs.
vcdx input module for accessing Video CDs with navigation & stills
access-filter Includes the following filters: timeshift, record, dump, which are used for ?????
audio-filter Various audio filters like decoders, equalizers, converters.
channel-mixer Various mixers and decoders like Dolby decoder
converter Fixed and floating-point audio format conversions such as AC/3 or MPEG I-II Audio Layer 1, 2, 3 decoding
resampler Various audio resampler
audio-mixer Mixer plugins.
audio-output Audio output plugins like ALSA, OSS and DirectX audio.
codec This directory includes various codecs, notably ffmpeg which is used for encoding and decoding various formats.
cmml Continuous Media Markup Language annotations/hyperlinks decoder
dmo a DirectMediaObject decoder that uses DirectMedia to decode video (WMV3)
ffmpeg Video decoder using the ffmpeg library
spudec RLE DVD subtitles decoder
xvmc XVMC video output and decoder
control Various interfaces to control the player: gestures, hotkeys, lirc, remote control (rc) and telnet
http HTTP remote control webinterface
demux Various demuxers
asf ASF demuxer
avi AVI File stream demuxer
mp4 MP4 file input module
playlist playlist import module???
gui GUI's for different platforms and the ncurses interface
beos Audio output, video output and interface module for BeOS.
macosx Video output, and interface module for Mac OS X.
pda interface for iPaq using the Gtk2+ widget set.
qnx QNX RTOS plugin
qt4 interface module using the cross-platform Qt4 library: Multi-platform. This interface will be the default one upon subsequent releases.
skins2 Skinnable interface, new generation
wince Pocket PC interface
wxwidgets interface module using the cross-platform wxWindows library: Multi-platform. The default interface as of VLC 0.86a.
dummy Dummy (no GUI) audio output, video output, interface and input modules.
memcpy memory chunk copying module.
notify notifications using libnotify
xml LibXML and xtag xml parsers
mux Various Muxers
packetizer Packetizers for H264/AVC and MPEG 4 audio and video streams.
video-chroma Image conversions such as YUV to RGB
video-filter Various video filters like Deinterlace, Transform, Wall, Crop, Panoramix etc.
directx Video output module using the Direct3D and Direct X API's ; OpenGL for Windows.
qte video output module for Qt Embedded.
x11 video output module using the X11 API.
visualization Several visualizations, including goom
galaktos a visualization module that outputs OpenGL
visual visualisation system