static void parse_mb_skip(Wmv2Context *w)

{

    int mb_x, mb_y;

    MpegEncContext *const s = &w->s;

    uint32_t *const mb_type = s->current_picture_ptr->mb_type;



    w->skip_type = get_bits(&s->gb, 2);

    switch (w->skip_type) {

    case SKIP_TYPE_NONE:

        for (mb_y = 0; mb_y < s->mb_height; mb_y++)

            for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                mb_type[mb_y * s->mb_stride + mb_x] =

                    MB_TYPE_16x16 | MB_TYPE_L0;

        break;

    case SKIP_TYPE_MPEG:

        for (mb_y = 0; mb_y < s->mb_height; mb_y++)

            for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                mb_type[mb_y * s->mb_stride + mb_x] =

                    (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

        break;

    case SKIP_TYPE_ROW:

        for (mb_y = 0; mb_y < s->mb_height; mb_y++) {

            if (get_bits1(&s->gb)) {

                for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0;

            } else {

                for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

            }

        }

        break;

    case SKIP_TYPE_COL:

        for (mb_x = 0; mb_x < s->mb_width; mb_x++) {

            if (get_bits1(&s->gb)) {

                for (mb_y = 0; mb_y < s->mb_height; mb_y++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0;

            } else {

                for (mb_y = 0; mb_y < s->mb_height; mb_y++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

            }

        }

        break;

    }

}

static void parse_mb_skip(Wmv2Context *w)

{

    int mb_x, mb_y;

    MpegEncContext *const s = &w->s;

    uint32_t *const mb_type = s->current_picture_ptr->mb_type;



    w->skip_type = get_bits(&s->gb, 2);

    switch (w->skip_type) {

    case SKIP_TYPE_NONE:

        for (mb_y = 0; mb_y < s->mb_height; mb_y++)

            for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                mb_type[mb_y * s->mb_stride + mb_x] =

                    MB_TYPE_16x16 | MB_TYPE_L0;

        break;

    case SKIP_TYPE_MPEG:

        for (mb_y = 0; mb_y < s->mb_height; mb_y++)

            for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                mb_type[mb_y * s->mb_stride + mb_x] =

                    (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

        break;

    case SKIP_TYPE_ROW:

        for (mb_y = 0; mb_y < s->mb_height; mb_y++) {

            if (get_bits1(&s->gb)) {

                for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0;

            } else {

                for (mb_x = 0; mb_x < s->mb_width; mb_x++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

            }

        }

        break;

    case SKIP_TYPE_COL:

        for (mb_x = 0; mb_x < s->mb_width; mb_x++) {

            if (get_bits1(&s->gb)) {

                for (mb_y = 0; mb_y < s->mb_height; mb_y++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0;

            } else {

                for (mb_y = 0; mb_y < s->mb_height; mb_y++)

                    mb_type[mb_y * s->mb_stride + mb_x] =

                        (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

            }

        }

        break;

    }

}

static void parse_mb_skip(Wmv2Context *w)
static void FUNC_0(Wmv2Context *VAR_0)

{

    int VAR_1, VAR_2;

    MpegEncContext *const s = &VAR_0->s;

    uint32_t *const mb_type = s->current_picture_ptr->mb_type;



    VAR_0->skip_type = get_bits(&s->gb, 2);

    switch (VAR_0->skip_type) {

    case SKIP_TYPE_NONE:

        for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++)

            for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++)

                mb_type[VAR_2 * s->mb_stride + VAR_1] =

                    MB_TYPE_16x16 | MB_TYPE_L0;

        break;

    case SKIP_TYPE_MPEG:

        for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++)

            for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++)

                mb_type[VAR_2 * s->mb_stride + VAR_1] =

                    (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

        break;

    case SKIP_TYPE_ROW:

        for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++) {

            if (get_bits1(&s->gb)) {

                for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++)

                    mb_type[VAR_2 * s->mb_stride + VAR_1] =

                        MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0;

            } else {

                for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++)

                    mb_type[VAR_2 * s->mb_stride + VAR_1] =

                        (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

            }

        }

        break;

    case SKIP_TYPE_COL:

        for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++) {

            if (get_bits1(&s->gb)) {

                for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++)

                    mb_type[VAR_2 * s->mb_stride + VAR_1] =

                        MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0;

            } else {

                for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++)

                    mb_type[VAR_2 * s->mb_stride + VAR_1] =

                        (get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0;

            }

        }

        break;

    }

}

static void FUNC_0(Wmv2Context *VAR_0)
{ int VAR_1, VAR_2; MpegEncContext *const s = &VAR_0->s; uint32_t *const mb_type = s->current_picture_ptr->mb_type; VAR_0->skip_type = get_bits(&s->gb, 2); switch (VAR_0->skip_type) { case SKIP_TYPE_NONE:
for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++) for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++) mb_type[VAR_2 * s->mb_stride + VAR_1] =
MB_TYPE_16x16 | MB_TYPE_L0; break; case SKIP_TYPE_MPEG:
for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++) for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++) mb_type[VAR_2 * s->mb_stride + VAR_1] =
(get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0; break; case SKIP_TYPE_ROW:
for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++) { if (get_bits1(&s->gb)) { for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++) mb_type[VAR_2 * s->mb_stride + VAR_1] =
MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0; } else { for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++) mb_type[VAR_2 * s->mb_stride + VAR_1] =
(get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0; } } break; case SKIP_TYPE_COL:
for (VAR_1 = 0; VAR_1 < s->mb_width; VAR_1++) { if (get_bits1(&s->gb)) { for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++) mb_type[VAR_2 * s->mb_stride + VAR_1] =
MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_L0; } else { for (VAR_2 = 0; VAR_2 < s->mb_height; VAR_2++) mb_type[VAR_2 * s->mb_stride + VAR_1] =
(get_bits1(&s->gb) ? MB_TYPE_SKIP : 0) | MB_TYPE_16x16 | MB_TYPE_L0; } } break; } }