static const unsigned char *seq_decode_op1(SeqVideoContext *seq, const unsigned char *src, unsigned char *dst)

{

    const unsigned char *color_table;

    int b, i, len, bits;

    GetBitContext gb;

    unsigned char block[8 * 8];



    len = *src++;

    if (len & 0x80) {

        switch (len & 3) {

        case 1:

            src = seq_unpack_rle_block(src, block, sizeof(block));

            for (b = 0; b < 8; b++) {

                memcpy(dst, &block[b * 8], 8);

                dst += seq->frame.linesize[0];

            }

            break;

        case 2:

            src = seq_unpack_rle_block(src, block, sizeof(block));

            for (i = 0; i < 8; i++) {

                for (b = 0; b < 8; b++)

                    dst[b * seq->frame.linesize[0]] = block[i * 8 + b];

                ++dst;

            }

            break;

        }

    } else {

        color_table = src;

        src += len;

        bits = ff_log2_tab[len - 1] + 1;

        init_get_bits(&gb, src, bits * 8 * 8); src += bits * 8;

        for (b = 0; b < 8; b++) {

            for (i = 0; i < 8; i++)

                dst[i] = color_table[get_bits(&gb, bits)];

            dst += seq->frame.linesize[0];

        }

    }



    return src;

}

static const unsigned char *seq_decode_op1(SeqVideoContext *seq, const unsigned char *src, unsigned char *dst)

{

    const unsigned char *color_table;

    int b, i, len, bits;

    GetBitContext gb;

    unsigned char block[8 * 8];



    len = *src++;

    if (len & 0x80) {

        switch (len & 3) {

        case 1:

            src = seq_unpack_rle_block(src, block, sizeof(block));

            for (b = 0; b < 8; b++) {

                memcpy(dst, &block[b * 8], 8);

                dst += seq->frame.linesize[0];

            }

            break;

        case 2:

            src = seq_unpack_rle_block(src, block, sizeof(block));

            for (i = 0; i < 8; i++) {

                for (b = 0; b < 8; b++)

                    dst[b * seq->frame.linesize[0]] = block[i * 8 + b];

                ++dst;

            }

            break;

        }

    } else {

        color_table = src;

        src += len;

        bits = ff_log2_tab[len - 1] + 1;

        init_get_bits(&gb, src, bits * 8 * 8); src += bits * 8;

        for (b = 0; b < 8; b++) {

            for (i = 0; i < 8; i++)

                dst[i] = color_table[get_bits(&gb, bits)];

            dst += seq->frame.linesize[0];

        }

    }



    return src;

}

static const unsigned char *seq_decode_op1(SeqVideoContext *seq, const unsigned char *src, unsigned char *dst)             src = seq_unpack_rle_block(src, block, sizeof(block));             src = seq_unpack_rle_block(src, block, sizeof(block));         bits = ff_log2_tab[len - 1] + 1;
static const unsigned char *FUNC_0(SeqVideoContext *VAR_0, const unsigned char *VAR_1, unsigned char *VAR_2)

{

    const unsigned char *VAR_3;

    int VAR_4, VAR_5, VAR_6, VAR_7;

    GetBitContext gb;

    unsigned char VAR_8[8 * 8];



    VAR_6 = *VAR_1++;

    if (VAR_6 & 0x80) {

        switch (VAR_6 & 3) {

        case 1:

            VAR_1 = seq_unpack_rle_block(VAR_1, VAR_8, sizeof(VAR_8));

            for (VAR_4 = 0; VAR_4 < 8; VAR_4++) {

                memcpy(VAR_2, &VAR_8[VAR_4 * 8], 8);

                VAR_2 += VAR_0->frame.linesize[0];

            }

            break;

        case 2:

            VAR_1 = seq_unpack_rle_block(VAR_1, VAR_8, sizeof(VAR_8));

            for (VAR_5 = 0; VAR_5 < 8; VAR_5++) {

                for (VAR_4 = 0; VAR_4 < 8; VAR_4++)

                    VAR_2[VAR_4 * VAR_0->frame.linesize[0]] = VAR_8[VAR_5 * 8 + VAR_4];

                ++VAR_2;

            }

            break;

        }

    } else {

        VAR_3 = VAR_1;

        VAR_1 += VAR_6;

        VAR_7 = ff_log2_tab[VAR_6 - 1] + 1;

        init_get_bits(&gb, VAR_1, VAR_7 * 8 * 8); VAR_1 += VAR_7 * 8;

        for (VAR_4 = 0; VAR_4 < 8; VAR_4++) {

            for (VAR_5 = 0; VAR_5 < 8; VAR_5++)

                VAR_2[VAR_5] = VAR_3[get_bits(&gb, VAR_7)];

            VAR_2 += VAR_0->frame.linesize[0];

        }

    }



    return VAR_1;

}

static const unsigned char *FUNC_0(SeqVideoContext *VAR_0, const unsigned char *VAR_1, unsigned char *VAR_2)
{ const unsigned char *VAR_3; int VAR_4, VAR_5, VAR_6, VAR_7; GetBitContext gb; unsigned char VAR_8[8 * 8]; VAR_6 = *VAR_1++; if (VAR_6 & 0x80) { switch (VAR_6 & 3) { case 1:
VAR_1 = seq_unpack_rle_block(VAR_1, VAR_8, sizeof(VAR_8)); for (VAR_4 = 0; VAR_4 < 8; VAR_4++) { memcpy(VAR_2, &VAR_8[VAR_4 * 8], 8); VAR_2 += VAR_0->frame.linesize[0]; } break; case 2:
VAR_1 = seq_unpack_rle_block(VAR_1, VAR_8, sizeof(VAR_8)); for (VAR_5 = 0; VAR_5 < 8; VAR_5++) { for (VAR_4 = 0; VAR_4 < 8; VAR_4++) VAR_2[VAR_4 * VAR_0->frame.linesize[0]] = VAR_8[VAR_5 * 8 + VAR_4]; ++VAR_2; } break; } } else { VAR_3 = VAR_1; VAR_1 += VAR_6; VAR_7 = ff_log2_tab[VAR_6 - 1] + 1; init_get_bits(&gb, VAR_1, VAR_7 * 8 * 8); VAR_1 += VAR_7 * 8; for (VAR_4 = 0; VAR_4 < 8; VAR_4++) { for (VAR_5 = 0; VAR_5 < 8; VAR_5++) VAR_2[VAR_5] = VAR_3[get_bits(&gb, VAR_7)]; VAR_2 += VAR_0->frame.linesize[0]; } } return VAR_1; }