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 += 1 + half_vert;
        }
    }
}
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 += 1 + half_vert;
        }
    }
}
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 += 1 + VAR_2;
        }
    }
}
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 += 1 + VAR_2; } } }