static void mm_decode_intra(MmContext * s, int half_horiz, int half_vert, const uint8_t *buf, int buf_size)

{

    int i, x, y;

    i=0; x=0; y=0;



    while(i<buf_size) {

        int run_length, color;



        if (buf[i] & 0x80) {

            run_length = 1;

            color = buf[i];

            i++;

        }else{

            run_length = (buf[i] & 0x7f) + 2;

            color = buf[i+1];

            i+=2;

        }



        if (half_horiz)

            run_length *=2;



        if (color) {

            memset(s->frame.data[0] + y*s->frame.linesize[0] + x, color, run_length);

            if (half_vert)

                memset(s->frame.data[0] + (y+1)*s->frame.linesize[0] + x, color, run_length);

        }

        x+= run_length;



        if (x >= s->avctx->width) {

            x=0;

            y += half_vert ? 2 : 1;

        }

    }

}

static void mm_decode_intra(MmContext * s, int half_horiz, int half_vert, const uint8_t *buf, int buf_size)

{

    int i, x, y;

    i=0; x=0; y=0;



    while(i<buf_size) {

        int run_length, color;



        if (buf[i] & 0x80) {

            run_length = 1;

            color = buf[i];

            i++;

        }else{

            run_length = (buf[i] & 0x7f) + 2;

            color = buf[i+1];

            i+=2;

        }



        if (half_horiz)

            run_length *=2;



        if (color) {

            memset(s->frame.data[0] + y*s->frame.linesize[0] + x, color, run_length);

            if (half_vert)

                memset(s->frame.data[0] + (y+1)*s->frame.linesize[0] + x, color, run_length);

        }

        x+= run_length;



        if (x >= s->avctx->width) {

            x=0;

            y += half_vert ? 2 : 1;

        }

    }

}

static void FUNC_0(MmContext * VAR_0, int VAR_1, int VAR_2, const uint8_t *VAR_3, int VAR_4)

{

    int VAR_5, VAR_6, VAR_7;

    VAR_5=0; VAR_6=0; VAR_7=0;



    while(VAR_5<VAR_4) {

        int VAR_8, VAR_9;



        if (VAR_3[VAR_5] & 0x80) {

            VAR_8 = 1;

            VAR_9 = VAR_3[VAR_5];

            VAR_5++;

        }else{

            VAR_8 = (VAR_3[VAR_5] & 0x7f) + 2;

            VAR_9 = VAR_3[VAR_5+1];

            VAR_5+=2;

        }



        if (VAR_1)

            VAR_8 *=2;



        if (VAR_9) {

            memset(VAR_0->frame.data[0] + VAR_7*VAR_0->frame.linesize[0] + VAR_6, VAR_9, VAR_8);

            if (VAR_2)

                memset(VAR_0->frame.data[0] + (VAR_7+1)*VAR_0->frame.linesize[0] + VAR_6, VAR_9, VAR_8);

        }

        VAR_6+= VAR_8;



        if (VAR_6 >= VAR_0->avctx->width) {

            VAR_6=0;

            VAR_7 += VAR_2 ? 2 : 1;

        }

    }

}

static void FUNC_0(MmContext * VAR_0, int VAR_1, int VAR_2, const uint8_t *VAR_3, int VAR_4)
{ int VAR_5, VAR_6, VAR_7; VAR_5=0; VAR_6=0; VAR_7=0; while(VAR_5<VAR_4) { int VAR_8, VAR_9; if (VAR_3[VAR_5] & 0x80) { VAR_8 = 1; VAR_9 = VAR_3[VAR_5]; VAR_5++; }else{ VAR_8 = (VAR_3[VAR_5] & 0x7f) + 2; VAR_9 = VAR_3[VAR_5+1]; VAR_5+=2; } if (VAR_1)
VAR_8 *=2; if (VAR_9) { memset(VAR_0->frame.data[0] + VAR_7*VAR_0->frame.linesize[0] + VAR_6, VAR_9, VAR_8); if (VAR_2)
memset(VAR_0->frame.data[0] + (VAR_7+1)*VAR_0->frame.linesize[0] + VAR_6, VAR_9, VAR_8); } VAR_6+= VAR_8; if (VAR_6 >= VAR_0->avctx->width) { VAR_6=0; VAR_7 += VAR_2 ? 2 : 1; } } }