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;



    init_put_bits(&pb, dst, size * 8);

    while (pix_left > 0) {

        run       = runs[run_idx++];

        mode      = ~mode;

        pix_left -= run;

        for (; run > 16; run -= 16)

            put_sbits(&pb, 16, mode);

        if (run)

            put_sbits(&pb, run, mode);

    }

    flush_put_bits(&pb);

}

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;



    init_put_bits(&pb, dst, size * 8);

    while (pix_left > 0) {

        run       = runs[run_idx++];

        mode      = ~mode;

        pix_left -= run;

        for (; run > 16; run -= 16)

            put_sbits(&pb, 16, mode);

        if (run)

            put_sbits(&pb, run, mode);

    }

    flush_put_bits(&pb);

}

    init_put_bits(&pb, dst, size * 8);
static void FUNC_0(uint8_t *VAR_0, int VAR_1, int VAR_2, const int *VAR_3)

{

    PutBitContext pb;

    int VAR_4, VAR_5 = ~0, VAR_6 = VAR_2, VAR_7 = 0;



    init_put_bits(&pb, VAR_0, VAR_1 * 8);

    while (VAR_6 > 0) {

        VAR_4       = VAR_3[VAR_7++];

        VAR_5      = ~VAR_5;

        VAR_6 -= VAR_4;

        for (; VAR_4 > 16; VAR_4 -= 16)

            put_sbits(&pb, 16, VAR_5);

        if (VAR_4)

            put_sbits(&pb, VAR_4, VAR_5);

    }

    flush_put_bits(&pb);

}

static void FUNC_0(uint8_t *VAR_0, int VAR_1, int VAR_2, const int *VAR_3)
{ PutBitContext pb; int VAR_4, VAR_5 = ~0, VAR_6 = VAR_2, VAR_7 = 0; init_put_bits(&pb, VAR_0, VAR_1 * 8); while (VAR_6 > 0) { VAR_4       = VAR_3[VAR_7++]; VAR_5      = ~VAR_5; VAR_6 -= VAR_4; for (; VAR_4 > 16; VAR_4 -= 16) put_sbits(&pb, 16, VAR_5); if (VAR_4)
put_sbits(&pb, VAR_4, VAR_5); } flush_put_bits(&pb); }