diff --git a/libavcodec/faxcompr.c b/libavcodec/faxcompr.c index 417e0b6cb9..f53c64b47b 100644 --- a/libavcodec/faxcompr.c +++ b/libavcodec/faxcompr.c @@ -232,19 +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 = 1, pix_left = width, run_idx = 0; + int run, mode = ~0, pix_left = width, run_idx = 0; init_put_bits(&pb, dst, size*8); while(pix_left > 0){ run = runs[run_idx++]; - mode = !mode; + mode = ~mode; if(!run){ continue; } pix_left -= run; for(; run > 16; run -= 16) - put_sbits(&pb, 16, -mode); - put_sbits(&pb, run, -mode); + put_sbits(&pb, 16, mode); + put_sbits(&pb, run, mode); } }