int vp78_decode_mb_row_sliced(AVCodecContext *avctx, void *tdata, int jobnr,

                              int threadnr, int is_vp7)

{

    VP8Context *s = avctx->priv_data;

    VP8ThreadData *td = &s->thread_data[jobnr];

    VP8ThreadData *next_td = NULL, *prev_td = NULL;

    VP8Frame *curframe = s->curframe;

    int mb_y, num_jobs = s->num_jobs;

    int ret;



    td->thread_nr = threadnr;

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

        atomic_store(&td->thread_mb_pos, mb_y << 16);

        ret = s->decode_mb_row_no_filter(avctx, tdata, jobnr, threadnr);

        if (ret < 0) {

            update_pos(td, s->mb_height, INT_MAX & 0xFFFF);

            return ret;

        }

        if (s->deblock_filter)

            s->filter_mb_row(avctx, tdata, jobnr, threadnr);

        update_pos(td, mb_y, INT_MAX & 0xFFFF);



        s->mv_min.y -= 64;

        s->mv_max.y -= 64;



        if (avctx->active_thread_type == FF_THREAD_FRAME)

            ff_thread_report_progress(&curframe->tf, mb_y, 0);

    }



    return 0;

}

int vp78_decode_mb_row_sliced(AVCodecContext *avctx, void *tdata, int jobnr,

                              int threadnr, int is_vp7)

{

    VP8Context *s = avctx->priv_data;

    VP8ThreadData *td = &s->thread_data[jobnr];

    VP8ThreadData *next_td = NULL, *prev_td = NULL;

    VP8Frame *curframe = s->curframe;

    int mb_y, num_jobs = s->num_jobs;

    int ret;



    td->thread_nr = threadnr;

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

        atomic_store(&td->thread_mb_pos, mb_y << 16);

        ret = s->decode_mb_row_no_filter(avctx, tdata, jobnr, threadnr);

        if (ret < 0) {

            update_pos(td, s->mb_height, INT_MAX & 0xFFFF);

            return ret;

        }

        if (s->deblock_filter)

            s->filter_mb_row(avctx, tdata, jobnr, threadnr);

        update_pos(td, mb_y, INT_MAX & 0xFFFF);



        s->mv_min.y -= 64;

        s->mv_max.y -= 64;



        if (avctx->active_thread_type == FF_THREAD_FRAME)

            ff_thread_report_progress(&curframe->tf, mb_y, 0);

    }



    return 0;

}

        s->mv_min.y -= 64;         s->mv_max.y -= 64;         s->mv_min.y -= 64;         s->mv_max.y -= 64;
int FUNC_0(AVCodecContext *VAR_0, void *VAR_1, int VAR_2,

                              int VAR_3, int VAR_4)

{

    VP8Context *s = VAR_0->priv_data;

    VP8ThreadData *td = &s->thread_data[VAR_2];

    VP8ThreadData *next_td = NULL, *prev_td = NULL;

    VP8Frame *curframe = s->curframe;

    int VAR_5, VAR_6 = s->VAR_6;

    int VAR_7;



    td->thread_nr = VAR_3;

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

        atomic_store(&td->thread_mb_pos, VAR_5 << 16);

        VAR_7 = s->decode_mb_row_no_filter(VAR_0, VAR_1, VAR_2, VAR_3);

        if (VAR_7 < 0) {

            update_pos(td, s->mb_height, INT_MAX & 0xFFFF);

            return VAR_7;

        }

        if (s->deblock_filter)

            s->filter_mb_row(VAR_0, VAR_1, VAR_2, VAR_3);

        update_pos(td, VAR_5, INT_MAX & 0xFFFF);



        s->mv_min.y -= 64;

        s->mv_max.y -= 64;



        if (VAR_0->active_thread_type == FF_THREAD_FRAME)

            ff_thread_report_progress(&curframe->tf, VAR_5, 0);

    }



    return 0;

}

int FUNC_0(AVCodecContext *VAR_0, void *VAR_1, int VAR_2,
int VAR_3, int VAR_4)
{ VP8Context *s = VAR_0->priv_data; VP8ThreadData *td = &s->thread_data[VAR_2]; VP8ThreadData *next_td = NULL, *prev_td = NULL; VP8Frame *curframe = s->curframe; int VAR_5, VAR_6 = s->VAR_6; int VAR_7; td->thread_nr = VAR_3; for (VAR_5 = VAR_2; VAR_5 < s->mb_height; VAR_5 += VAR_6) { atomic_store(&td->thread_mb_pos, VAR_5 << 16); VAR_7 = s->decode_mb_row_no_filter(VAR_0, VAR_1, VAR_2, VAR_3); if (VAR_7 < 0) { update_pos(td, s->mb_height, INT_MAX & 0xFFFF); return VAR_7; } if (s->deblock_filter)
s->filter_mb_row(VAR_0, VAR_1, VAR_2, VAR_3); update_pos(td, VAR_5, INT_MAX & 0xFFFF); s->mv_min.y -= 64; s->mv_max.y -= 64; if (VAR_0->active_thread_type == FF_THREAD_FRAME)
ff_thread_report_progress(&curframe->tf, VAR_5, 0); } return 0; }