liba52 - a free ATSC A/52 stream decoder
July 27, 2002: a52dec-0.7.4 is
released ! With full
reentrancy, win32 output, al file output, gain control, and a few
February 20, 2002: a52dec-0.7.3 is
released ! With 40% to 80%
improved speed, some bugfixes, and a few new output modules.
December 16, 2001: a52dec-0.7.2 is
released ! This release adds
wav format output, and an improved demuxer which makes it easier to
use a52dec as a pipe. Also, lots of minor bugfixes and
liba52 is a free library for decoding ATSC A/52 streams. It is
released under the terms of the
GPL license. The A/52
standard is used in a variety of applications, including digital television
and DVD. It is also known as AC-3.
The main goals in liba52 development are:
- Portability - Currently all of the code is written in
C, and when we write platform-specific optimizations we will
always keep a generic C routine to fall back on.
- Reuseability - we do not want liba52 to include any
project-specific code, but it should still include enough features
to be used by very diverse projects.
- Precision - We are trying to implement all of the A/52
standard, and to have a very precise output by doing all the
calculations in floating point. We have a test suite that detects
any deviation in the output when compared to previous versions.
We do not have access to official A/52 test vectors though, so
we have to use our judgement to ensure that such deviations are
only intruduced when we fix bugs !
- Speed - liba52 is really fast, on any modern PC it should
take only a few percent of CPU time.
The project homepage is at http://liba52.sourceforge.net/
a52dec is a test program for liba52. It decodes ATSC A/52 streams,
and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams.
The liba52 source code is always distributed in the a52dec package,
to make sure it easier for people to test it.
Other projects using liba52
liba52 (and its ancestor libac3) is being used by various other projects,
- xine - started as a simple
mpeg-2 audio and video decoder, but it since became a full-featured
DVD and video media player.
- VideoLAN - video
streaming over an ethernet network, can also be used as a
- MPlayer - another good
player, it is also very robust against damaged streams.
- movietime - still
quite young, but it looks very promising !
- ffmpeg - a nice
audio/video encoder and transcoder, uses liba52 for decoding A/52
- Ogle - a
good DVD player with menu support.
- TCVP - video and music player
- a graphical interface for a52dec for macintosh osX.
- bd4go - another
graphical interface for macintosh osX.
- drip - a DVD to
- GStreamer - a framework for
streaming media; it has an A/52 decoding plugin based on liba52.
- mpeglib - a video
decoding library that usess liba52 when decoding A/52 streams.
If you use liba52 in another project, let us know !
There are several places where we could easily use some help:
- Web design: This site sucks ! at the very least, we'd like to
come up with a nicer background picture and a logo.
- Testing: If you find any stream that does not decode right with
liba52, let us know ! The best thing would be to mail to the
liba52-devel mailing list. Also if you have access to encoders,
we'd love to get test streams that would be free of rights -
so that we can put them on this server.
- Coding: There is a small TODO list in the a52dec package,
you can have a look there !
- Porting: If you're porting to a new architecture, you might want
to experiment with the compile flags defined in configure.in . When
you figure out whats fastest on your platform, send us a patch !
The A/52 standard, as published by the ATSC, is available at
This file last modified Tuesday October 03, 2006
Comments ? firstname.lastname@example.org