cosmetics: Reindent file, patch by Vitor Sessak, vitor1001 gmail com,

some further prettyprinting by myself.

Originally committed as revision 13105 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Vitor Sessak 17 years ago committed by Diego Biurrun
parent f211662c7c
commit 47eb818713
  1. 160
      libavcodec/ra144.c

@ -94,11 +94,16 @@ static void final(Real144_internal *glob, short *i1, short *i2, void *out, int *
static void add_wav(Real144_internal *glob, int n, int f, int m1, int m2, int m3, short *s1, short *s2, short *s3, short *dest);
static int irms(short *data, int factor);
static void rotate_block(short *source, short *target, int offset);
/* lookup square roots in table */
static int t_sqrt(unsigned int x)
{
int s = 0;
while (x>0xfff) { s++; x=x>>2; }
while (x > 0xfff) {
s++;
x = x >> 2;
}
return (sqrt_table[x] << s) << 2;
}
@ -127,7 +132,9 @@ static void do_voice(int *a1, int *a2)
a1++;
}
ptr = a2 + 10;
while (ptr>a2) (*a2++)>>=4;
while (ptr > a2)
(*a2++) >>= 4;
}
@ -136,24 +143,40 @@ static void do_output_subblock(Real144_internal *glob, unsigned int x)
{
int a, b, c, d, e, f, g;
if (x==1) memset(glob->buffer,0,20);
if ((*glob->iptr)==0) a=0;
else a=(*glob->iptr)+HALFBLOCK-1;
if (x == 1)
memset(glob->buffer, 0, 20);
if ((*glob->iptr) == 0)
a = 0;
else
a = (*glob->iptr) + HALFBLOCK - 1;
glob->iptr++;
b = *(glob->iptr++);
c = *(glob->iptr++);
d = *(glob->iptr++);
if (a) rotate_block(glob->buffer_2,glob->buffer_a,a);
if (a)
rotate_block(glob->buffer_2, glob->buffer_a, a);
memcpy(glob->buffer_b, etable1 + b * BLOCKSIZE, BLOCKSIZE * 2);
e = ((ftable1[b] >> 4) *glob->gval) >> 8;
memcpy(glob->buffer_c, etable2 + c * BLOCKSIZE, BLOCKSIZE * 2);
f=((ftable2[c] >> 4) *glob->gval) >> 8;
if (a) g=irms(glob->buffer_a,glob->gval)>>12;
else g=0;
add_wav(glob,d,a,g,e,f,glob->buffer_a,glob->buffer_b,glob->buffer_c,glob->buffer_d);
if (a)
g = irms(glob->buffer_a, glob->gval) >> 12;
else
g = 0;
add_wav(glob, d, a, g, e, f, glob->buffer_a, glob->buffer_b,
glob->buffer_c, glob->buffer_d);
memmove(glob->buffer_2, glob->buffer_2 + BLOCKSIZE, (BUFFERSIZE - BLOCKSIZE) * 2);
memcpy(glob->buffer_2 + BUFFERSIZE - BLOCKSIZE, glob->buffer_d, BLOCKSIZE * 2);
final(glob,glob->gsp,glob->buffer_d,glob->output_buffer,glob->buffer,BLOCKSIZE);
final(glob,glob->gsp, glob->buffer_d, glob->output_buffer, glob->buffer,
BLOCKSIZE);
}
/* rotate block */
@ -166,9 +189,12 @@ static void rotate_block(short *source, short *target, int offset)
ptr2 = source + BUFFERSIZE;
ptr3 = ptr1 = ptr2 - offset;
end = target + BLOCKSIZE;
while (target < end) {
*(target++) = *(ptr3++);
if (ptr3==ptr2) ptr3=ptr1;
if (ptr3 == ptr2)
ptr3 = ptr1;
}
}
@ -177,30 +203,40 @@ static int irms(short *data, int factor)
{
short *p1, *p2;
unsigned int sum;
p2 = (p1 = data) + BLOCKSIZE;
for (sum=0;p2>p1;p1++) sum+=(*p1)*(*p1);
if (sum==0) return 0; /* OOPS - division by zero */
for (sum=0; p2 > p1; p1++)
sum += (*p1) * (*p1);
if (sum == 0)
return 0; /* OOPS - division by zero */
return (0x20000000 / (t_sqrt(sum) >> 8)) * factor;
}
/* multiply/add wavetable */
static void add_wav(Real144_internal *glob, int n, int f, int m1, int m2, int m3, short *s1, short *s2, short *s3, short *dest)
static void add_wav(Real144_internal *glob, int n, int f, int m1, int m2,
int m3, short *s1, short *s2, short *s3, short *dest)
{
int a, b, c;
short *ptr, *ptr2;
ptr = glob->wavtable1 + n * 9;
ptr2 = glob->wavtable2 + n * 9;
if (f!=0) {
if (f != 0)
a = ((*ptr) * m1) >> ((*ptr2) + 1);
} else {
else
a = 0;
}
ptr++;ptr2++;
ptr++;
ptr2++;
b = ((*ptr) * m2) >> ((*ptr2) + 1);
ptr++;ptr2++;
ptr++;
ptr2++;
c = ((*ptr) * m3) >> ((*ptr2) + 1);
ptr2 = (ptr = dest) + BLOCKSIZE;
if (f != 0)
while (ptr < ptr2)
*(ptr++) = ((*(s1++)) * a + (*(s2++)) * b + (*(s3++)) * c) >> 12;
@ -210,7 +246,8 @@ static void add_wav(Real144_internal *glob, int n, int f, int m1, int m2, int m3
}
static void final(Real144_internal *glob, short *i1, short *i2, void *out, int *statbuf, int len)
static void final(Real144_internal *glob, short *i1, short *i2, void *out,
int *statbuf, int len)
{
int x, sum;
int buffer[10];
@ -232,17 +269,20 @@ static void final(Real144_internal *glob, short *i1, short *i2, void *out, int *
buffer[0] = i1[9];
ptr2 = (ptr = glob->work) + len;
while (ptr < ptr2) {
for(sum=0, x=0; x<=9; x++)
sum += buffer[x] * (ptr[x]);
sum = sum >> 12;
x = ptr[10] - sum;
if (x<-32768 || x>32767)
{
if (x<-32768 || x>32767) {
memset(out, 0, len * 2);
memset(statbuf, 0, 20);
return;
}
ptr[10] = x;
ptr++;
}
@ -296,8 +336,7 @@ static void unpack_input(const unsigned char *input, unsigned int *output)
*(output++) = outbuffer[11];
for (x=1; x<11; *(output++) = outbuffer[x++]);
ptr = outbuffer+12;
for (x=0;x<16;x+=4)
{
for (x=0; x<16; x+=4) {
*(output++) = ptr[x];
*(output++) = ptr[x+2];
*(output++) = ptr[x+3];
@ -315,14 +354,14 @@ static unsigned int rms(int *data, int f)
c = data;
b = 0;
res = 0x10000;
for (x=0;x<10;x++)
{
for (x=0; x<10; x++) {
res = (((0x1000000 - (*c) * (*c)) >> 12) * res) >> 12;
if (res==0) return 0;
if (res<=0x3fff)
{
while (res<=0x3fff)
{
if (res == 0)
return 0;
if (res <= 0x3fff) {
while (res <= 0x3fff) {
b++;
res <<= 2;
}
@ -332,7 +371,9 @@ static unsigned int rms(int *data, int f)
}
c++;
}
if (res>0) res=t_sqrt(res);
if (res > 0)
res = t_sqrt(res);
res >>= (b + 10);
res = (res * f) >> 10;
@ -346,7 +387,9 @@ static void dec1(Real144_internal *glob, int *data, int *inp, int n, int f)
*(glob->decptr++) = rms(data, f);
glob->decptr++;
end = (ptr = glob->decsp) + (n * 10);
while (ptr<end) *(ptr++)=*(inp++);
while (ptr < end)
*(ptr++) = *(inp++);
}
static int eq(Real144_internal *glob, short *in, int *target)
@ -365,27 +408,43 @@ static int eq(Real144_internal *glob, short *in, int *target)
bp2 = glob->buffer2;
ptr2 = (ptr3 = glob->buffer2) + 9;
sptr = in;
while (ptr2 >= ptr3)
*(ptr3++) = *(sptr++);
target += 9;
a = bp2[9];
*target = a;
if (a + 0x1000 > 0x1fff)
return 0; /* We're screwed, might as well go out with a bang. :P */
c=8;u=a;
while (c>=0)
{
if (u==0x1000) u++;
if (u==0xfffff000) u--;
c = 8;
u = a;
while (c >= 0) {
if (u == 0x1000)
u++;
if (u == 0xfffff000)
u--;
b = 0x1000-((u * u) >> 12);
if (b==0) b++;
if (b == 0)
b++;
ptr2 = bp1;
ptr1 = (ptr3 = bp2) + c;
for (u=0; u<=c; u++)
*(ptr2++) = ((*(ptr3++) - (((*target) * (*(ptr1--))) >> 12)) * (0x1000000 / b)) >> 12;
*(--target) = u = bp1[(c--)];
if ((u+0x1000)>0x1fff) retval=1;
if ((u + 0x1000) > 0x1fff)
retval = 1;
temp = bp2;
bp2 = bp1;
bp1 = temp;
@ -393,7 +452,8 @@ static int eq(Real144_internal *glob, short *in, int *target)
return retval;
}
static void dec2(Real144_internal *glob, int *data, int *inp, int n, int f, int *inp2, int l)
static void dec2(Real144_internal *glob, int *data, int *inp, int n, int f,
int *inp2, int l)
{
unsigned int *ptr1,*ptr2;
int work[10];
@ -401,21 +461,26 @@ static void dec2(Real144_internal *glob, int *data, int *inp, int n, int f, int
int x;
int result;
if(l+1<NBLOCKS/2) a=NBLOCKS-(l+1);
else a=l+1;
if(l + 1 < NBLOCKS / 2)
a = NBLOCKS - (l + 1);
else
a = l + 1;
b = NBLOCKS - a;
if (l==0)
{
if (l == 0) {
glob->decsp = glob->sptr = glob->gbuf2;
glob->decptr = glob->gbuf1;
}
ptr1 = inp;
ptr2 = inp2;
for (x=0; x<10*n; x++)
*(glob->sptr++) = (a * (*ptr1++) + b * (*ptr2++)) >> 2;
result = eq(glob, glob->decsp, work);
if (result==1)
{
if (result == 1) {
dec1(glob, data, inp, n, f);
} else {
*(glob->decptr++) = rms(work, f);
@ -448,6 +513,7 @@ static int ra144_decode_frame(AVCodecContext * avctx,
dptr = decodetable + 1;
lptr = glob->swapbuf1;
while (lptr<glob->swapbuf1 + 10)
*(lptr++) = (*(dptr++))[(*(glob->iptr++)) << 1];

Loading…
Cancel
Save