cleanup ugly code (also appearently works around a bug gcc 3.4 which fails compiling it) by (mru at kth dot se (Måns Rullgård))

Originally committed as revision 2746 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 21 years ago
parent 2caa92d935
commit 8a1f657b28
  1. 15
      libavcodec/ra144.c

@ -424,7 +424,7 @@ static void dec2(Real144_internal *glob, int *data, int *inp, int n, int f, int
/* Uncompress one block (20 bytes -> 160*2 bytes) */ /* Uncompress one block (20 bytes -> 160*2 bytes) */
static int ra144_decode_frame(AVCodecContext * avctx, static int ra144_decode_frame(AVCodecContext * avctx,
void *data, int *data_size, void *vdata, int *data_size,
uint8_t * buf, int buf_size) uint8_t * buf, int buf_size)
{ {
unsigned int a,b,c; unsigned int a,b,c;
@ -432,7 +432,8 @@ static int ra144_decode_frame(AVCodecContext * avctx,
signed short *shptr; signed short *shptr;
unsigned int *lptr,*temp; unsigned int *lptr,*temp;
const short **dptr; const short **dptr;
void *datao; int16_t *datao;
int16_t *data = vdata;
Real144_internal *glob=avctx->priv_data; Real144_internal *glob=avctx->priv_data;
datao = data; datao = data;
@ -480,10 +481,10 @@ static int ra144_decode_frame(AVCodecContext * avctx,
shptr=glob->output_buffer; shptr=glob->output_buffer;
while (shptr<glob->output_buffer+BLOCKSIZE) { while (shptr<glob->output_buffer+BLOCKSIZE) {
s=*(shptr++)<<2; s=*(shptr++)<<2;
*((int16_t *)data)=s; *data=s;
if (s>32767) *((int16_t *)data)=32767; if (s>32767) *data=32767;
if (s<-32767) *((int16_t *)data)=-32768; if (s<-32767) *data=-32768;
((int16_t *)data)++; data++;
} }
b+=30; b+=30;
} }
@ -495,7 +496,7 @@ static int ra144_decode_frame(AVCodecContext * avctx,
temp=glob->swapbuf2alt; temp=glob->swapbuf2alt;
glob->swapbuf2alt=glob->swapbuf2; glob->swapbuf2alt=glob->swapbuf2;
glob->swapbuf2=temp; glob->swapbuf2=temp;
*data_size=data-datao; *data_size=(data-datao)*sizeof(*data);
return 20; return 20;
} }

Loading…
Cancel
Save