From 0b15bfe7cc666a67a1e906735c0fae07b81a93e2 Mon Sep 17 00:00:00 2001 From: Nick Kurshev Date: Mon, 16 Jun 2003 08:28:43 +0000 Subject: some useful warning Originally committed as revision 1961 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ra288.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'libavcodec/ra288.c') diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c index 9bebfa88a6..47809159c7 100644 --- a/libavcodec/ra288.c +++ b/libavcodec/ra288.c @@ -406,33 +406,46 @@ static int ra288_decode_frame(AVCodecContext * avctx, int h=((short*)(avctx->extradata))[1]; int cfs=((short*)(avctx->extradata))[3]; /* coded frame size */ int i,j; - if(buf_size=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; 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; z=0; while(zphasep=(glob->phase=x&7)*5; 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); } z+=32; - bp+=32; } *data_size = data - datao; return bret; -- cgit v1.2.3