diff --git a/libavcodec/faxcompr.c b/libavcodec/faxcompr.c index 9f1da4d279..417e0b6cb9 100644 --- a/libavcodec/faxcompr.c +++ b/libavcodec/faxcompr.c @@ -232,20 +232,19 @@ static int decode_group3_2d_line(AVCodecContext *avctx, GetBitContext *gb, static void put_line(uint8_t *dst, int size, int width, const int *runs) { PutBitContext pb; - int run, mode = 0, pix_left = width, run_idx = 0; + int run, mode = 1, pix_left = width, run_idx = 0; init_put_bits(&pb, dst, size*8); while(pix_left > 0){ run = runs[run_idx++]; + mode = !mode; if(!run){ - mode = !mode; continue; } pix_left -= run; for(; run > 16; run -= 16) put_sbits(&pb, 16, -mode); put_sbits(&pb, run, -mode); - mode = !mode; } }