[FFmpeg-devel] [PATCH] Function to parse Dirac sequence header

Michael Niedermayer michaelni
Sat Nov 8 15:07:47 CET 2008

On Sat, Nov 08, 2008 at 07:57:43AM +0200, Kostya wrote:
> On Fri, Nov 07, 2008 at 11:35:59PM +0100, Michael Niedermayer wrote:
> > On Thu, Nov 06, 2008 at 02:42:13PM +0200, Kostya wrote:
> [...]
> > 
> > While i appreciate your effort to credit some of the authors in the
> > function names.
> > Why do you provide examples that as you say are not elias gamma codes anyway?
> > And the examples you provide are not what svq3_* uses either ...
> I just wanted to show how different bits are coded. Those should be
> legal codes, not optimal though.

they are NOT legal in svq3, not legal in H264 and not legal in RV30/RV40

> > > 
> > > In original paper Golomb (which is funny to read), he describes
> > > more sophisticated codes where prefix length may differ from
> > > payload length (that's just a rule for recognizing them).
> > > 
> > 
> > > Why those committees call every variable-length code for integers
> > > Golomb codes is a great mystery.
> > 
> > probably because they have some common sense ...
> > One should ALWAYS use descriptive names, NEVER names technically unrelated
> > to the actual thing one names. Unless the names are universally used and
> > understood. like fourier in FFT
> > as examples heap and radix sort are descriptive names, for bad ones refer
> > to wikipedia (string searching algos for example)
> > 
> > In that respect exp golomb codes are golomb codes with exponential behaviour
> > Interleaved exp golomb codes are the same but with prefix and postfix bits
> > interleaved.
> > First is what h264 uses, later is what svq3 uses. both are elias gamma codes
> > which is why using just the name elias gamma is ambigous here.
> The problem is that Gamma or Gamma' codes are not Golomb code at all.

ignoring the minor problem of a authorative source for a difinition of what
a golomb code is. After all golomb wrote more papers AFAIK

The real issue is thats exp golomb codes do not neccesarily have to be
golomb codes, but are a modifiation or extension that no longer is conforming
to the original definition.
I dont understand from where you come up with the claim that every code
containingt the word golomb would neccessarily have to be a valid golomb
In the same sense a windowed DCT is not a DCT

> All integer VLC codes may be represented as mantis and exponent part.

iam pretty sure this is not true

> In Elias Gamma codes length of mantis part = length of exponent part,

well exp golomb codes (and svq3, h264, rv) have mantis len + 1 = exp len
that clearly makes them different.

> in Elias Delta codes exponent is coded with Elias Gamma itself, but
> in Golomb codes mantis bits have fixed length - N or N-1.
> So, while unary codes and Rice codes are a specific case of Golomb codes
> (with code parameter 0 or 2^n correspondingly), Elias Gamma code cannot
> be obtained from them.

> Why not call _any_ 8x8 transform DCT then?

because "any 8x8 transform" is not neccessarily a DCT

exp golomb codes are described in
J. Teuhola, "A Compression Method for Clustered Bit-Vectors",
   Information Processing Letters, Vol. 7, pp. 308-311, Oct. 1978.

from what i could find out.


Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081108/92b638d3/attachment.pgp>

More information about the ffmpeg-devel mailing list