add width and height in context and use them

patch by Vitor: [vitor1001 gmail com]

Originally committed as revision 9438 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Vitor Sessak 2007-06-26 20:10:26 +00:00 committed by Benoit Fouet
parent dad66beeff
commit 9489d2ef3f
2 changed files with 8 additions and 6 deletions

View File

@ -102,10 +102,10 @@ static inline void apply_motion_generic(RoqContext *ri, int x, int y, int deltax
my = y + deltay;
/* check MV against frame boundaries */
if ((mx < 0) || (mx > ri->avctx->width - sz) ||
(my < 0) || (my > ri->avctx->height - sz)) {
if ((mx < 0) || (mx > ri->width - sz) ||
(my < 0) || (my > ri->height - sz)) {
av_log(ri->avctx, AV_LOG_ERROR, "motion vector out of bounds: MV = (%d, %d), boundaries = (0, 0, %d, %d)\n",
mx, my, ri->avctx->width, ri->avctx->height);
mx, my, ri->width, ri->height);
return;
}

View File

@ -145,11 +145,11 @@ static void roqvideo_decode_frame(RoqContext *ri)
}
xpos += 16;
if (xpos >= ri->avctx->width) {
xpos -= ri->avctx->width;
if (xpos >= ri->width) {
xpos -= ri->width;
ypos += 16;
}
if(ypos >= ri->avctx->height)
if(ypos >= ri->height)
break;
}
}
@ -160,6 +160,8 @@ static int roq_decode_init(AVCodecContext *avctx)
RoqContext *s = avctx->priv_data;
s->avctx = avctx;
s->width = avctx->width;
s->height = avctx->height;
s->last_frame = &s->frames[0];
s->current_frame = &s->frames[1];
avctx->pix_fmt = PIX_FMT_YUV444P;