[FFmpeg-devel] Review request - ra288.{c,h} ra144.{c,h}

Michael Niedermayer michaelni
Tue Aug 5 16:37:47 CEST 2008


On Tue, Aug 05, 2008 at 06:24:32AM +0200, Vitor Sessak wrote:
> Michael Niedermayer wrote:
> > On Tue, Jul 29, 2008 at 08:20:45PM +0200, Vitor Sessak wrote:
> >> Hi,
> >>
> >> Those four files never passed a review. I've just finished cleaning them 
> >> up, so if anyone wants to review them (Michael already said he will), 
> >> now is time.
> > 
> > heres 288
> > 
> > [...]
> >> static void decode(RA288Context *ractx, float gain, int cb_coef)
> 
> [...]
> 
> > 
> >> /**
> >>  * Converts autocorrelation coefficients to LPC coefficients using the
> >>  * Levinson-Durbin algorithm. See blocks 37 and 50 of the G.728 specification.
> >>  *
> >>  * @return 0 if success, -1 if fail
> >>  */
> >> static int eval_lpc_coeffs(const float *in, float *tgt, int n)
> >> {
> >>     int i, j;
> >>     double f0, f1, f2;
> >>
> >>     if (in[n] == 0)
> >>         return -1;
> >>
> >>     if ((f0 = *in) <= 0)
> >>         return -1;
> >>
> >>     in--; // To avoid a -1 subtraction in the inner loop
> >>
> >>     for (i=1; i <= n; i++) {
> >>         f1 = in[i+1];
> >>
> >>         for (j=0; j < i - 1; j++)
> >>             f1 += in[i-j]*tgt[j];
> >>
> >>         tgt[i-1] = f2 = -f1/f0;
> >>         for (j=0; j < i >> 1; j++) {
> >>             float temp = tgt[j] + tgt[i-j-2]*f2;
> >>             tgt[i-j-2] += tgt[j]*f2;
> >>             tgt[j] = temp;
> >>         }
> >>         if ((f0 += f1*f2) < 0)
> >>             return -1;
> >>     }
> >>
> >>     return 0;
> >> }
> > 
> > duplicate of compute_lpc_coefs() ?
> 
> Yes, the two functions are practically identical, but 
> compute_lpc_coefs() use doubles and ra288 uses floats.
> 
> Justin: does FLAC really need double precision or that was just an 
> arbitrary choice?
> 

> Michael: If both are needed, Michael, are you ok with a macro?

yes

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

It is dangerous to be right in matters on which the established authorities
are wrong. -- Voltaire
-------------- 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/20080805/5ae2e3dd/attachment.pgp>



More information about the ffmpeg-devel mailing list