[FFmpeg-devel] Flac encoder and MPEG4 ALS
Sun Mar 30 23:31:10 CEST 2008
On Sunday 30 March 2008 15:44:40 Kostya wrote:
> On Sun, Mar 30, 2008 at 08:53:12PM +0000, Jai Menon wrote:
> > On Sunday 30 March 2008 13:55:49 Kostya wrote:
> > > On Sun, Mar 30, 2008 at 09:44:51AM -0400, Justin Ruggles wrote:
> > > > Kostya wrote:
> > >
> > > [...]
> > >
> > > > > I've looked at it once. Seems the most features are for
> > > > > floating-point mode, baseline decoder should be comparatively easy.
> > > > > Especially if you are the person who writes encoder to it ;)
> > > >
> > > > It has 2 entropy coders, plus another for floating-point. It has 2
> > > > ways of doing multi-channel. There are also several prediction
> > > > methods. The spec does not specifically say what is "baseline" vs.
> > > > extended, but it would be simple enough to break down the task.
> > >
> > > IIRC, both entropy coders are VLC - classical Shannon-Fano scheme and
> > > classical Golomb codes. Prediction is also standard LPC and RLS, the
> > > latter is quite rare in codecs though (MLP, APE, TTA ?).
> > and iirc golomb rice codes are used only for the tail end residuals,
> > those in center are encoded using block gilbert-moore codes........but i
> > may be wrong
> Just to clarify - Rice codes are one case of Golomb codes and yes, they are
> used for large values in ALS.
> Block Gilbert-Moore codes are another name for Shannon-Fano codes and
> respect Shannon more than that RealNetworks engineer who suggested that
> coding scheme and name for ALS.
Exactly......my question was more like : either we can use only rice codes or
we can sacrifice encoder speed and use a combination of these two. so we can
define a basic starting point and work from there on speed/compression ratio.
also the als literature which i have come across refers to bgmc and mentions
that "sometimes these codes are called elias-shannon-fano codes" in the
footnote. i didn't know what "times" it was referring to so i preferred to
stick on the safe side.
<realityman at gmx.net>
More information about the ffmpeg-devel