diff --git a/libavcodec/xfaceenc.c b/libavcodec/xfaceenc.c index db63f59cfb09dd7ee37e6bbe43106c67a1c3ba98..5206afd5eaf63fafcaadbbee95cc3f1dcbfcf5a4 100644 --- a/libavcodec/xfaceenc.c +++ b/libavcodec/xfaceenc.c @@ -167,14 +167,15 @@ static int xface_encode_frame(AVCodecContext *avctx, AVPacket *pkt, /* convert image from MONOWHITE to 1=black 0=white bitmap */ buf = frame->data[0]; - for (i = 0, j = 0; i < XFACE_PIXELS; ) { + i = j = 0; + do { for (k = 0; k < 8; k++) xface->bitmap[i++] = (buf[j]>>(7-k))&1; if (++j == XFACE_WIDTH/8) { buf += frame->linesize[0]; j = 0; } - } + } while (i < XFACE_PIXELS); /* create a copy of bitmap */ memcpy(bitmap_copy, xface->bitmap, XFACE_PIXELS);