static void frame_end(MpegEncContext *s)

{

    int i;



    if (s->unrestricted_mv &&

        s->current_picture.reference &&

        !s->intra_only) {

        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->avctx->pix_fmt);

        int hshift = desc->log2_chroma_w;

        int vshift = desc->log2_chroma_h;

        s->mpvencdsp.draw_edges(s->current_picture.f->data[0], s->linesize,

                                s->h_edge_pos, s->v_edge_pos,

                                EDGE_WIDTH, EDGE_WIDTH,

                                EDGE_TOP | EDGE_BOTTOM);

        s->mpvencdsp.draw_edges(s->current_picture.f->data[1], s->uvlinesize,

                                s->h_edge_pos >> hshift,

                                s->v_edge_pos >> vshift,

                                EDGE_WIDTH >> hshift,

                                EDGE_WIDTH >> vshift,

                                EDGE_TOP | EDGE_BOTTOM);

        s->mpvencdsp.draw_edges(s->current_picture.f->data[2], s->uvlinesize,

                                s->h_edge_pos >> hshift,

                                s->v_edge_pos >> vshift,

                                EDGE_WIDTH >> hshift,

                                EDGE_WIDTH >> vshift,

                                EDGE_TOP | EDGE_BOTTOM);

    }



    emms_c();



    s->last_pict_type                 = s->pict_type;

    s->last_lambda_for [s->pict_type] = s->current_picture_ptr->f->quality;

    if (s->pict_type!= AV_PICTURE_TYPE_B)

        s->last_non_b_pict_type = s->pict_type;



    if (s->encoding) {

        /* release non-reference frames */

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

            if (!s->picture[i].reference)

                ff_mpeg_unref_picture(s->avctx, &s->picture[i]);

        }

    }



    s->avctx->coded_frame = s->current_picture_ptr->f;



}

static void frame_end(MpegEncContext *s)

{

    int i;



    if (s->unrestricted_mv &&

        s->current_picture.reference &&

        !s->intra_only) {

        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->avctx->pix_fmt);

        int hshift = desc->log2_chroma_w;

        int vshift = desc->log2_chroma_h;

        s->mpvencdsp.draw_edges(s->current_picture.f->data[0], s->linesize,

                                s->h_edge_pos, s->v_edge_pos,

                                EDGE_WIDTH, EDGE_WIDTH,

                                EDGE_TOP | EDGE_BOTTOM);

        s->mpvencdsp.draw_edges(s->current_picture.f->data[1], s->uvlinesize,

                                s->h_edge_pos >> hshift,

                                s->v_edge_pos >> vshift,

                                EDGE_WIDTH >> hshift,

                                EDGE_WIDTH >> vshift,

                                EDGE_TOP | EDGE_BOTTOM);

        s->mpvencdsp.draw_edges(s->current_picture.f->data[2], s->uvlinesize,

                                s->h_edge_pos >> hshift,

                                s->v_edge_pos >> vshift,

                                EDGE_WIDTH >> hshift,

                                EDGE_WIDTH >> vshift,

                                EDGE_TOP | EDGE_BOTTOM);

    }



    emms_c();



    s->last_pict_type                 = s->pict_type;

    s->last_lambda_for [s->pict_type] = s->current_picture_ptr->f->quality;

    if (s->pict_type!= AV_PICTURE_TYPE_B)

        s->last_non_b_pict_type = s->pict_type;



    if (s->encoding) {

        

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

            if (!s->picture[i].reference)

                ff_mpeg_unref_picture(s->avctx, &s->picture[i]);

        }

    }



    s->avctx->coded_frame = s->current_picture_ptr->f;



}

static void FUNC_0(MpegEncContext *VAR_0)

{

    int VAR_1;



    if (VAR_0->unrestricted_mv &&

        VAR_0->current_picture.reference &&

        !VAR_0->intra_only) {

        const AVPixFmtDescriptor *VAR_2 = av_pix_fmt_desc_get(VAR_0->avctx->pix_fmt);

        int VAR_3 = VAR_2->log2_chroma_w;

        int VAR_4 = VAR_2->log2_chroma_h;

        VAR_0->mpvencdsp.draw_edges(VAR_0->current_picture.f->data[0], VAR_0->linesize,

                                VAR_0->h_edge_pos, VAR_0->v_edge_pos,

                                EDGE_WIDTH, EDGE_WIDTH,

                                EDGE_TOP | EDGE_BOTTOM);

        VAR_0->mpvencdsp.draw_edges(VAR_0->current_picture.f->data[1], VAR_0->uvlinesize,

                                VAR_0->h_edge_pos >> VAR_3,

                                VAR_0->v_edge_pos >> VAR_4,

                                EDGE_WIDTH >> VAR_3,

                                EDGE_WIDTH >> VAR_4,

                                EDGE_TOP | EDGE_BOTTOM);

        VAR_0->mpvencdsp.draw_edges(VAR_0->current_picture.f->data[2], VAR_0->uvlinesize,

                                VAR_0->h_edge_pos >> VAR_3,

                                VAR_0->v_edge_pos >> VAR_4,

                                EDGE_WIDTH >> VAR_3,

                                EDGE_WIDTH >> VAR_4,

                                EDGE_TOP | EDGE_BOTTOM);

    }



    emms_c();



    VAR_0->last_pict_type                 = VAR_0->pict_type;

    VAR_0->last_lambda_for [VAR_0->pict_type] = VAR_0->current_picture_ptr->f->quality;

    if (VAR_0->pict_type!= AV_PICTURE_TYPE_B)

        VAR_0->last_non_b_pict_type = VAR_0->pict_type;



    if (VAR_0->encoding) {

        

        for (VAR_1 = 0; VAR_1 < MAX_PICTURE_COUNT; VAR_1++) {

            if (!VAR_0->picture[VAR_1].reference)

                ff_mpeg_unref_picture(VAR_0->avctx, &VAR_0->picture[VAR_1]);

        }

    }



    VAR_0->avctx->coded_frame = VAR_0->current_picture_ptr->f;



}

static void FUNC_0(MpegEncContext *VAR_0)
{ int VAR_1; if (VAR_0->unrestricted_mv &&
VAR_0->current_picture.reference &&
!VAR_0->intra_only) { const AVPixFmtDescriptor *VAR_2 = av_pix_fmt_desc_get(VAR_0->avctx->pix_fmt); int VAR_3 = VAR_2->log2_chroma_w; int VAR_4 = VAR_2->log2_chroma_h; VAR_0->mpvencdsp.draw_edges(VAR_0->current_picture.f->data[0], VAR_0->linesize,
VAR_0->h_edge_pos, VAR_0->v_edge_pos,
EDGE_WIDTH, EDGE_WIDTH,
EDGE_TOP | EDGE_BOTTOM); VAR_0->mpvencdsp.draw_edges(VAR_0->current_picture.f->data[1], VAR_0->uvlinesize,
VAR_0->h_edge_pos >> VAR_3,
VAR_0->v_edge_pos >> VAR_4,
EDGE_WIDTH >> VAR_3,
EDGE_WIDTH >> VAR_4,
EDGE_TOP | EDGE_BOTTOM); VAR_0->mpvencdsp.draw_edges(VAR_0->current_picture.f->data[2], VAR_0->uvlinesize,
VAR_0->h_edge_pos >> VAR_3,
VAR_0->v_edge_pos >> VAR_4,
EDGE_WIDTH >> VAR_3,
EDGE_WIDTH >> VAR_4,
EDGE_TOP | EDGE_BOTTOM); } emms_c(); VAR_0->last_pict_type                 = VAR_0->pict_type; VAR_0->last_lambda_for [VAR_0->pict_type] = VAR_0->current_picture_ptr->f->quality; if (VAR_0->pict_type!= AV_PICTURE_TYPE_B)
VAR_0->last_non_b_pict_type = VAR_0->pict_type; if (VAR_0->encoding) { for (VAR_1 = 0; VAR_1 < MAX_PICTURE_COUNT; VAR_1++) { if (!VAR_0->picture[VAR_1].reference)
ff_mpeg_unref_picture(VAR_0->avctx, &VAR_0->picture[VAR_1]); } } VAR_0->avctx->coded_frame = VAR_0->current_picture_ptr->f; }