diff --git a/libavcodec/lclenc.c b/libavcodec/lclenc.c
index 16976ea..5be1ac4 100644
--- a/libavcodec/lclenc.c
+++ b/libavcodec/lclenc.c
@@ -100,7 +100,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
 
     for(i = avctx->height - 1; i >= 0; i--) {
         c->zstream.next_in = p->data[0]+p->linesize[0]*i;
-        c->zstream.avail_in = avctx->width*3;
+        c->zstream.avail_in = avctx->width*3 + (avctx->width & 1);
         zret = deflate(&c->zstream, Z_NO_FLUSH);
         if (zret != Z_OK) {
             av_log(avctx, AV_LOG_ERROR, "Deflate error: %d\n", zret);
