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

Benoit Fouet benoit.fouet
Fri Sep 5 16:52:38 CEST 2008


Hi,

Vitor Sessak wrote:
> 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.
>>     
>
> I think now they can go through another review cycle.
>
>   

[from ra144.c]

> static void eval_coefs(int *coefs, const int *refl)
> {
>     int buffer[10];
>     int *b1 = buffer;
>     int *b2 = coefs;
>     int i, j;
>
>     for (i=0; i < 10; i++) {
>         b1[i] = refl[i] << 4;
>
>         for (j=0; j < i; j++)
>             b1[j] = ((refl[i] * b2[i-j-1]) >> 12) + b2[j];
>

seems that will overwrite b1[i] affectation when j == 0

> static void int_to_int16(int16_t *out, const int *inp)
> {
>     int i;
>
>     for (i=0; i < 30; i++)
>         *(out++) = *(inp++);
>

unneeded parentheses

> static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
> {
>     int b, i, j;
>     int buffer1[10];
>     int buffer2[10];
>     int *bp1 = buffer1;
>     int *bp2 = buffer2;
>
>     for (i=0; i < 10; i++)
>         buffer2[i] = coefs[i];
>
>     refl[9] = bp2[9];
>
>     if ((unsigned) bp2[9] + 0x1000 > 0x1fff) {
>         av_log(ractx, AV_LOG_ERROR, "Overflow. Broken sample?\n");
>         return 1;
>     }
>
>     for (i=8; i >= 0; i--) {
>         b = 0x1000-((bp2[i+1] * bp2[i+1]) >> 12);
>
>         if (!b)
>             b = -2;
>
>         for (j=0; j <= i; j++)
>             bp1[j] = ((bp2[j] - ((refl[i+1] * bp2[i-j]) >> 12)) *
(0x1000000 / b)) >> 12;
>
>         refl[i] = bp1[i];
>
>         if ((unsigned) bp1[i] + 0x1000 > 0x1fff)
>             return 1;
>

maybe the test could be done before the refl[i] = bp1[i]

-- 
Benoit Fouet
Purple Labs S.A.
www.purplelabs.com




More information about the ffmpeg-devel mailing list