Mercurial > libavcodec.hg
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 |