Commit 395984e4 authored by nickols_k's avatar nickols_k

some useful warning


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@1961 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 3b6ac4d6
...@@ -406,33 +406,46 @@ static int ra288_decode_frame(AVCodecContext * avctx, ...@@ -406,33 +406,46 @@ static int ra288_decode_frame(AVCodecContext * avctx,
int h=((short*)(avctx->extradata))[1]; int h=((short*)(avctx->extradata))[1];
int cfs=((short*)(avctx->extradata))[3]; /* coded frame size */ int cfs=((short*)(avctx->extradata))[3]; /* coded frame size */
int i,j; int i,j;
if(buf_size<w*h) goto no_interleave; if(buf_size<w*h)
{
fprintf(stderr,"ffra288: warning! Context was not interleaved [%d<%d]\n",buf_size,w*h);
goto no_interleave;
}
bp = buf; bp = buf;
for (j = 0; j < h; j++) for (j = 0; j < h; j++)
for (i = 0; i < h/2; i++) for (i = 0; i < h/2; i++)
{ {
memcpy(&b[i*2*w+j*cfs], bp, cfs); memcpy(&b[i*2*w+j*cfs], bp, cfs);
bp += cfs; bp += cfs;
if(bp-buf>=buf_size) break; if(bp-buf>buf_size)
{
fprintf(stderr,"ffra288: warning! Context was partly interleaved [%d<%d]\n",buf_size,w*h);
break;
}
} }
bret=bp-buf; bret=bp-buf;
bp = b; bp = b;
} }
else { no_interleave: bret=buf_size; bp = buf; } else
{
fprintf(stderr,"ffra288: warning! Context was not interleaved [%d<%d]\n",avctx->extradata_size,6);
no_interleave:
bret=buf_size;
bp = buf;
}
datao = data; datao = data;
z=0; z=0;
while(z<bret) while(z<bret)
{ {
unpack(buffer,bp,32); unpack(buffer,&bp[z],32);
for (x=0;x<32;x++) for (x=0;x<32;x++)
{ {
glob->phasep=(glob->phase=x&7)*5; glob->phasep=(glob->phase=x&7)*5;
decode(glob,buffer[x]); decode(glob,buffer[x]);
for (y=0;y<5;y++) *(((int16_t *)data)++)=8*glob->output[glob->phasep+y]; for (y=0;y<5;*(((int16_t *)data)++)=8*glob->output[glob->phasep+(y++)]);
if (glob->phase==3) update(glob); if (glob->phase==3) update(glob);
} }
z+=32; z+=32;
bp+=32;
} }
*data_size = data - datao; *data_size = data - datao;
return bret; return bret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment