Gmerlin-avdecoder
Gmerlin_avdecoder is a general purpose media decoding library. It was written as
a support library for gmerlin, but it can also be used by other applications.
You don't even need gmerlin installed, only gavl.
Most of it was written completely from scratch, but the sourcetrees of
some other great software packages were used as reference documentation.
Credits go to the authors of Xine,
MPlayer,
quicktime4linux and
ffmpeg.
Gmerlin-avdecoder is one of the most complete general purpose media decoding
libraries. The supported formats and codecs span a wide range of applications
from consumer level (mp3, divx etc.) to high end production formats like
32 bit PCM and some professional uncompressed video codecs.
Using gmerlin_avdecoder in your playback for transcoding application means rock
solid media format support with an ever growing list of supported codecs and
formats. Just check the file <prefix>/gmerlin/avdec.h and the
API documentation for details.
In the directory tests, you'll find a small program bgavdump, which
opens a file, dumps all information onto stderr and decodes some audio
samples form each audio stream and one frame from each video stream.
You can use this for learning the API.
Below is a list of features, more can be expected.
General features
- Handling of sources with multiple tracks, each track can have
an arbitrary number of audio-, video- and subtitle-streams.
- Support for both text and graphical subtitles
- Subtitles can also be read from external files if you choose to do so.
- Files, which contain multiple tracks, let you access the tracks individually.
This is true for ALBW wrapped mp3s and concatenated OggVorbis files.
- High quality audio. You can always get the full acuracy,
no matter if the file has 16, 24 or 32 bits. Compressed formats are decoded as
floating point samples when possible.
- Track length detection and seeking support.
- Configuration of things like preferred network bandwidth
is done on a per intstance basis.
- Extraction of metadata when available. International characters
are converted to UTF-8 automatically if the source character set is
known.
- Support for URL redirectors
- Edit list information is exported if available
- Many formats can be opened in a sample accurate mode. It will build a file index
(if required by the format) and allow fast sample accurate random access.
Input modules
- file
- stdin
- rtsp (Real)
- Real pnm
- mms (Windows Media)
- http
- ftp
- vcd
- dvd
- samba
- dvb
Redirectors
- ASX (Windows Media)
- m3u/ram
- pls (Shoutcast)
- [Reference]
- smil
Formats
- Microsoft ASF/WMV/WMA
- Microsoft AVI
- Real Media
- Real Audio
- Quicktime/mp4/m4a
- Microsoft WAV
- Sun AU
- AIFF(C)
- FLAC
- AAC
- Vivo
- Mpeg Video
- FLI/FLC Animation
- Flash video (FLV)
- NullSoft Video
- Wavpack
- True Audio
- Creative voice
- 4xm
- Delphine Software CIN
- Amiga IFF
- SMAF Ringtone
- Sony Playstation (PSX) STR
- Tiertex SEQ
- Smacker
- ID Roq
- Shorten
- NuppelVideo/MythTV
- Sierra SOL
- GIF
- SMJPEG
- Westwood VQA
- AVS
- Electronicarts WVE
- MTV
- GXF
- DXA
- THP
- Ogg Bitstream
- A52 Bitstream
- Musepack
- yuv4mpeg
- DV
- MXF
- nist Sphere
- IRCAM
- raw gsm
- D-Cinema audio
- Sierra VMD
- MPEG-2 transport stream
- Mpeg Audio
- Mpeg System
Audio codecs
- FFmpeg D-Cinema decoder
- FFmpeg ima4 decoder
- FFmpeg WAV ADPCM decoder
- FFmpeg IMA DK3 decoder
- FFmpeg IMA DK4 decoder
- FFmpeg Westwood ADPCM decoder
- FFmpeg SMJPEG audio decoder
- FFmpeg MS ADPCM decoder
- FFmpeg 4xm audio decoder
- FFmpeg Playstation ADPCM decoder
- FFmpeg Electronicarts ADPCM decoder
- FFmpeg G726 decoder
- FFmpeg Creative ADPCM decoder
- FFmpeg Flash ADPCM decoder
- FFmpeg SMAF audio decoder
- FFmpeg Soundblaster Pro ADPCM 4 decoder
- FFmpeg Soundblaster Pro ADPCM 3 decoder
- FFmpeg Soundblaster Pro ADPCM 2 decoder
- FFmpeg THP Audio decoder
- FFmpeg ra14.4 decoder
- FFmpeg ra28.8 decoder
- FFmpeg ID Roq Audio decoder
- FFmpeg Interplay DPCM decoder
- FFmpeg Old SOL decoder
- FFmpeg SOL decoder (8 bit)
- FFmpeg SOL decoder (16 bit)
- FFmpeg WMA1 decoder
- FFmpeg WMA2 decoder
- FFmpeg MACE3 decoder
- FFmpeg MACE6 decoder
- FFmpeg Sierra VMD audio decoder
- FFmpeg Sonic decoder
- FFmpeg mp3 ADU decoder
- FFmpeg mp3on4 decoder
- FFmpeg Shorten decoder
- FFmpeg alac decoder
- FFmpeg Westwood SND1 decoder
- FFmpeg QDM2 decoder
- FFmpeg Real cook decoder
- FFmpeg Truespeech audio decoder
- FFmpeg True audio decoder
- FFmpeg Smacker Audio decoder
- FFmpeg Wavpack decoder
- FFmpeg Delphine CIN audio decoder
- FFmpeg Intel Music decoder
- FFmpeg ATRAC3 decoder
- FFmpeg Monkey's Audio decoder
- FFmpeg Nellymoser decoder
- Ogg vorbis audio decoder
- liba52 based decoder
- libdca based decoder
- MPEG audio decoder (mad)
- Speex decoder
- FAAD AAC audio decoder
- FLAC audio decoder
- gavl audio decoder
- PCM audio decoder
- libgsm based decoder
Video codecs
- FFmpeg H263 decoder
- FFmpeg Real Video 1.0 decoder
- FFmpeg Real Video 2.0 decoder
- FFmpeg motion JPEG decoder
- FFmpeg motion Jpeg-B decoder
- FFmpeg SP5X decoder
- FFmpeg MPEG-4 decoder
- FFmpeg Raw decoder
- FFmpeg MSMPEG4V1 decoder
- FFmpeg MSMPEG4V2 decoder
- FFmpeg MSMPEG4V3 decoder
- FFmpeg WMV1 decoder
- FFmpeg WMV2 decoder
- FFmpeg H263I decoder
- FFmpeg Flash video decoder
- FFmpeg Sorenson 1 decoder
- FFmpeg Sorenson 3 decoder
- FFmpeg DV decoder
- FFmpeg DVCPRO50 decoder
- FFmpeg Hufyuv decoder
- FFmpeg Creative YUV decoder
- FFmpeg H264 decoder
- FFmpeg Inteo 3 decoder
- FFmpeg VP3 decoder
- FFmpeg ASV1 decoder
- FFmpeg ASV2 decoder
- FFmpeg Video 1 (FFV1) decoder
- FFmpeg 4XM video decoder
- FFmpeg VCR1 decoder
- FFmpeg CLJR decoder
- FFmpeg MPEC video decoder
- FFmpeg ID Roq Video Decoder
- FFmpeg Interplay Video Decoder
- FFmpeg rpza decoder
- FFmpeg cinepak decoder
- FFmpeg Westwood VQA decoder
- FFmpeg MSRLE Decoder
- FFmpeg MSVideo 1 decoder
- FFmpeg ID CIN decoder
- FFmpeg 8BPS decoder
- FFmpeg SMC decoder
- FFmpeg FLI/FLC Decoder
- FFmpeg DUCK TrueMotion 1 decoder
- FFmpeg Sierra VMD video decoder
- FFmpeg MSZH decoder
- FFmpeg ZLIB decoder
- FFmpeg QT rle Decoder
- FFmpeg Snow decoder
- FFmpeg TSCC decoder
- FFmpeg ULTI decoder
- FFmpeg QDraw decoder
- FFmpeg Video XL Decoder
- FFmpeg QPEG decoder
- FFmpeg FFVHUFF decoder
- FFmpeg VC1 decoder
- FFmpeg WMV3 decoder
- FFmpeg LOCO decoder
- FFmpeg WNV1 decoder
- FFmpeg AASC decoder
- FFmpeg Inteo 2 decoder
- FFmpeg Fraps 1 decoder
- FFmpeg DUCK TrueMotion 2 decoder
- FFmpeg CSCD decoder
- FFmpeg MM video decoder
- FFmpeg ZMBV decoder
- FFmpeg AVS Video Decoder
- FFmpeg Smacker Video Decoder
- FFmpeg NuppelVideo decoder
- FFmpeg KMVC decoder
- FFmpeg Flash screen video decoder
- FFmpeg Chinese AVS decoder
- FFmpeg VMware video decoder
- FFmpeg VP5 decoder
- FFmpeg VP6.2 decoder
- FFmpeg VP6.0 decoder
- FFmpeg VP6.1 decoder
- FFmpeg VP6.2 decoder (flash variant)
- FFmpeg Delphine CIN video decoder
- FFmpeg Tiertex Video Decoder
- FFmpeg GIF Video Decoder
- FFmpeg DXA decoder
- FFmpeg DNxHD Video decoder
- FFmpeg THP Video decoder
- FFmpeg C93 decoder
- FFmpeg Bethsoft VID decoder
- FFmpeg VP6 yuva decoder
- FFmpeg Beam Software VB decoder
- PNG video decoder
- TIFF video decoder
- Theora decoder
- libmpeg2 decoder
- Real Video 3.0/4.0 DLL decoder
- Raw video decoder for AVI
- Quicktime raw video decoder
- yuv2 video decoder
- 2vuy video decoder
- yv12 video decoder
- YV12 video decoder
- VYUY video decoder
- YVU9 video decoder
- v308 video decoder
- v408 video decoder
- v410 video decoder
- v210 video decoder
- yuv4 video decoder
- TGA video decoder
- rtjpeg video decoder
- gavl video decoder
Graphical subtitle codecs
Subtitle readers
- Subrip (srt)
- Mplayer mpsub
- Spumux (xml/png)
What needs to be done
- Demuxers for vqf
- Decoder for vqf
- Generic rtsp/rtp support