comparison ra288.c @ 1308:98e270096355 libavcodec

some useful warning
author nickols_k
date Mon, 16 Jun 2003 08:28:43 +0000
parents abca3b39231d
children d6da658fe6c6
comparison
equal deleted inserted replaced
1307:26bed13dd48d 1308:98e270096355
404 { 404 {
405 int w=avctx->block_align; 405 int w=avctx->block_align;
406 int h=((short*)(avctx->extradata))[1]; 406 int h=((short*)(avctx->extradata))[1];
407 int cfs=((short*)(avctx->extradata))[3]; /* coded frame size */ 407 int cfs=((short*)(avctx->extradata))[3]; /* coded frame size */
408 int i,j; 408 int i,j;
409 if(buf_size<w*h) goto no_interleave; 409 if(buf_size<w*h)
410 {
411 fprintf(stderr,"ffra288: warning! Context was not interleaved [%d<%d]\n",buf_size,w*h);
412 goto no_interleave;
413 }
410 bp = buf; 414 bp = buf;
411 for (j = 0; j < h; j++) 415 for (j = 0; j < h; j++)
412 for (i = 0; i < h/2; i++) 416 for (i = 0; i < h/2; i++)
413 { 417 {
414 memcpy(&b[i*2*w+j*cfs], bp, cfs); 418 memcpy(&b[i*2*w+j*cfs], bp, cfs);
415 bp += cfs; 419 bp += cfs;
416 if(bp-buf>=buf_size) break; 420 if(bp-buf>buf_size)
421 {
422 fprintf(stderr,"ffra288: warning! Context was partly interleaved [%d<%d]\n",buf_size,w*h);
423 break;
424 }
417 } 425 }
418 bret=bp-buf; 426 bret=bp-buf;
419 bp = b; 427 bp = b;
420 } 428 }
421 else { no_interleave: bret=buf_size; bp = buf; } 429 else
430 {
431 fprintf(stderr,"ffra288: warning! Context was not interleaved [%d<%d]\n",avctx->extradata_size,6);
432 no_interleave:
433 bret=buf_size;
434 bp = buf;
435 }
422 datao = data; 436 datao = data;
423 z=0; 437 z=0;
424 while(z<bret) 438 while(z<bret)
425 { 439 {
426 unpack(buffer,bp,32); 440 unpack(buffer,&bp[z],32);
427 for (x=0;x<32;x++) 441 for (x=0;x<32;x++)
428 { 442 {
429 glob->phasep=(glob->phase=x&7)*5; 443 glob->phasep=(glob->phase=x&7)*5;
430 decode(glob,buffer[x]); 444 decode(glob,buffer[x]);
431 for (y=0;y<5;y++) *(((int16_t *)data)++)=8*glob->output[glob->phasep+y]; 445 for (y=0;y<5;*(((int16_t *)data)++)=8*glob->output[glob->phasep+(y++)]);
432 if (glob->phase==3) update(glob); 446 if (glob->phase==3) update(glob);
433 } 447 }
434 z+=32; 448 z+=32;
435 bp+=32;
436 } 449 }
437 *data_size = data - datao; 450 *data_size = data - datao;
438 return bret; 451 return bret;
439 } 452 }
440 453