[FFmpeg-devel] [PATCH] G.729A (floating-point) decoder and ACT demuxer

Vladimir Voroshilov voroshil
Sun Feb 24 18:36:05 CET 2008


On Sun, Feb 24, 2008 at 11:18 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Sun, Feb 24, 2008 at 09:39:21PM +0600, Vladimir Voroshilov wrote:
>  > Hi, Reimar
>  >
>  > this is reply on g729a decoder related issues.
>  >
>  > On Sun, Feb 24, 2008 at 12:39 AM, Reimar D?ffinger
>  > <Reimar.Doeffinger at stud.uni-karlsruhe.de> wrote:
>  >
>  > > [...]
>  >
>  > >  > +/**
>  > >  > + * L1 codebook (10-dimensional, with 128 entries (3.2.4)
>  > >  > + */
>  > >  > +static const float cb_L1[128][10] = {
>  > >
>  > >  These constants btw. look very much like they were designed with a
>  > >  16-bit fixed-point implementation in mind...
>  >
>  > L1 L2 L3 - are three different codebooks mentioned in specification.
>  > Exact values are not described anywhere (or i was not searching carefully),
>
>  2.4      Speech coder description
>  The description of the speech coding algorithm of this Recommendation is made in terms of
>  bit-exact fixed-point mathematical operations. The ANSI C code indicated in clause 5, which
>  constitutes an integral part of this Recommendation, reflects this bit-exact fixed-point descriptive
>  approach. The mathematical descriptions of the encoder (clause 3), and decoder (clause 4), can be
>  implemented in several other fashions, possibly leading to a codec implementation not complying
>  with this Recommendation. Therefore, the algorithm description of the ANSI C code of clause 5
>  shall take precedence over the mathematical descriptions of clauses 3 and 4 whenever discrepancies
>  are found. A non-exhaustive set of test signals, which can be used with the ANSI C code, are
>  available from the ITU.
>
>
>
>  > current values are got from floating-point reference code.
>
>  As written in the spec, the fixed point implementation conains the bit exact
>  values.
>

C.5     ANSI C code
[...] The algorithmic description given by the C code shall take
precedence over the texts contained in the main body of the full
version of G.729, Annex A or this annex. As of the approval of this
text, the current version of this ANSI C code is Version 1.01 of 15
September 1998. More recent versions may become available through
corrigenda or amendments to G.729. Please ensure to use the latest
available version from the ITU-T website. [...]


So constants can be got from floating-point reference code too, right?




More information about the ffmpeg-devel mailing list