void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)

{

    void (*start_frame)(AVFilterLink *, AVFilterBufferRef *);

    AVFilterPad *dst = link->dstpad;



    FF_DPRINTF_START(NULL, start_frame); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " "); ff_dprintf_ref(NULL, picref, 1);



    if (!(start_frame = dst->start_frame))

        start_frame = avfilter_default_start_frame;



    /* prepare to copy the picture if it has insufficient permissions */

    if ((dst->min_perms & picref->perms) != dst->min_perms ||

         dst->rej_perms & picref->perms) {

        av_log(link->dst, AV_LOG_DEBUG,

                "frame copy needed (have perms %x, need %x, reject %x)\n",

                picref->perms,

                link->dstpad->min_perms, link->dstpad->rej_perms);



        link->cur_buf = avfilter_get_video_buffer(link, dst->min_perms, link->w, link->h);

        link->src_buf = picref;

        avfilter_copy_buffer_ref_props(link->cur_buf, link->src_buf);

    }

    else

        link->cur_buf = picref;



    start_frame(link, link->cur_buf);

}

void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)

{

    void (*start_frame)(AVFilterLink *, AVFilterBufferRef *);

    AVFilterPad *dst = link->dstpad;



    FF_DPRINTF_START(NULL, start_frame); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " "); ff_dprintf_ref(NULL, picref, 1);



    if (!(start_frame = dst->start_frame))

        start_frame = avfilter_default_start_frame;



    

    if ((dst->min_perms & picref->perms) != dst->min_perms ||

         dst->rej_perms & picref->perms) {

        av_log(link->dst, AV_LOG_DEBUG,

                "frame copy needed (have perms %x, need %x, reject %x)\n",

                picref->perms,

                link->dstpad->min_perms, link->dstpad->rej_perms);



        link->cur_buf = avfilter_get_video_buffer(link, dst->min_perms, link->w, link->h);

        link->src_buf = picref;

        avfilter_copy_buffer_ref_props(link->cur_buf, link->src_buf);

    }

    else

        link->cur_buf = picref;



    start_frame(link, link->cur_buf);

}

VAR_4voidVAR_4 VAR_4avfilter_start_frameVAR_4(VAR_4AVFilterLinkVAR_4 *VAR_4VAR_0VAR_4, VAR_4AVFilterBufferRefVAR_4 *VAR_4VAR_1VAR_4)

{

    VAR_4voidVAR_4 (*VAR_4VAR_2VAR_4)(VAR_4AVFilterLinkVAR_4 *, VAR_4AVFilterBufferRefVAR_4 *);

    VAR_4AVFilterPadVAR_4 *VAR_4dstVAR_4 = VAR_4VAR_0VAR_4->VAR_4dstpadVAR_4;



    VAR_4FF_DPRINTF_STARTVAR_4(VAR_4NULLVAR_4, VAR_4VAR_2VAR_4); VAR_4ff_dprintf_linkVAR_4(VAR_4NULLVAR_4, VAR_4VAR_0VAR_4, VAR_40VAR_4); VAR_4dprintfVAR_4(VAR_4NULLVAR_4, " "); VAR_4ff_dprintf_refVAR_4(VAR_4NULLVAR_4, VAR_4VAR_1VAR_4, VAR_41VAR_4);



    VAR_4ifVAR_4 (!(VAR_4VAR_2VAR_4 = VAR_4dstVAR_4->VAR_4VAR_2VAR_4))

        VAR_4VAR_2VAR_4 = VAR_4avfilter_default_start_frameVAR_4;



    

    VAR_4ifVAR_4 ((VAR_4dstVAR_4->VAR_4min_permsVAR_4 & VAR_4VAR_1VAR_4->VAR_4permsVAR_4) != VAR_4dstVAR_4->VAR_4min_permsVAR_4 ||

         VAR_4dstVAR_4->VAR_4rej_permsVAR_4 & VAR_4VAR_1VAR_4->VAR_4permsVAR_4) {

        VAR_4av_logVAR_4(VAR_4VAR_0VAR_4->VAR_4dstVAR_4, VAR_4AV_LOG_DEBUGVAR_4,

                "VAR_4frameVAR_4 VAR_4copyVAR_4 VAR_4neededVAR_4 (VAR_4haveVAR_4 VAR_4permsVAR_4 %VAR_4xVAR_4, VAR_4needVAR_4 %VAR_4xVAR_4, VAR_4rejectVAR_4 %VAR_4xVAR_4)\VAR_4nVAR_4",

                VAR_4VAR_1VAR_4->VAR_4permsVAR_4,

                VAR_4VAR_0VAR_4->VAR_4dstpadVAR_4->VAR_4min_permsVAR_4, VAR_4VAR_0VAR_4->VAR_4dstpadVAR_4->VAR_4rej_permsVAR_4);



        VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4 = VAR_4avfilter_get_video_bufferVAR_4(VAR_4VAR_0VAR_4, VAR_4dstVAR_4->VAR_4min_permsVAR_4, VAR_4VAR_0VAR_4->VAR_4wVAR_4, VAR_4VAR_0VAR_4->VAR_4hVAR_4);

        VAR_4VAR_0VAR_4->VAR_4src_bufVAR_4 = VAR_4VAR_1VAR_4;

        VAR_4avfilter_copy_buffer_ref_propsVAR_4(VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4, VAR_4VAR_0VAR_4->VAR_4src_bufVAR_4);

    }

    VAR_4elseVAR_4

        VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4 = VAR_4VAR_1VAR_4;



    VAR_4VAR_2VAR_4(VAR_4VAR_0VAR_4, VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4);

}

VAR_4voidVAR_4 VAR_4avfilter_start_frameVAR_4(VAR_4AVFilterLinkVAR_4 *VAR_4VAR_0VAR_4, VAR_4AVFilterBufferRefVAR_4 *VAR_4VAR_1VAR_4)
{ VAR_4voidVAR_4 (*VAR_4VAR_2VAR_4)(VAR_4AVFilterLinkVAR_4 *, VAR_4AVFilterBufferRefVAR_4 *); VAR_4AVFilterPadVAR_4 *VAR_4dstVAR_4 = VAR_4VAR_0VAR_4->VAR_4dstpadVAR_4; VAR_4FF_DPRINTF_STARTVAR_4(VAR_4NULLVAR_4, VAR_4VAR_2VAR_4); VAR_4ff_dprintf_linkVAR_4(VAR_4NULLVAR_4, VAR_4VAR_0VAR_4, VAR_40VAR_4); VAR_4dprintfVAR_4(VAR_4NULLVAR_4, " "); VAR_4ff_dprintf_refVAR_4(VAR_4NULLVAR_4, VAR_4VAR_1VAR_4, VAR_41VAR_4); VAR_4ifVAR_4 (!(VAR_4VAR_2VAR_4 = VAR_4dstVAR_4->VAR_4VAR_2VAR_4))
VAR_4VAR_2VAR_4 = VAR_4avfilter_default_start_frameVAR_4; VAR_4ifVAR_4 ((VAR_4dstVAR_4->VAR_4min_permsVAR_4 & VAR_4VAR_1VAR_4->VAR_4permsVAR_4) != VAR_4dstVAR_4->VAR_4min_permsVAR_4 ||
VAR_4dstVAR_4->VAR_4rej_permsVAR_4 & VAR_4VAR_1VAR_4->VAR_4permsVAR_4) { VAR_4av_logVAR_4(VAR_4VAR_0VAR_4->VAR_4dstVAR_4, VAR_4AV_LOG_DEBUGVAR_4,
"VAR_4frameVAR_4 VAR_4copyVAR_4 VAR_4neededVAR_4 (VAR_4haveVAR_4 VAR_4permsVAR_4 %VAR_4xVAR_4, VAR_4needVAR_4 %VAR_4xVAR_4, VAR_4rejectVAR_4 %VAR_4xVAR_4)\VAR_4nVAR_4",
VAR_4VAR_1VAR_4->VAR_4permsVAR_4,
VAR_4VAR_0VAR_4->VAR_4dstpadVAR_4->VAR_4min_permsVAR_4, VAR_4VAR_0VAR_4->VAR_4dstpadVAR_4->VAR_4rej_permsVAR_4); VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4 = VAR_4avfilter_get_video_bufferVAR_4(VAR_4VAR_0VAR_4, VAR_4dstVAR_4->VAR_4min_permsVAR_4, VAR_4VAR_0VAR_4->VAR_4wVAR_4, VAR_4VAR_0VAR_4->VAR_4hVAR_4); VAR_4VAR_0VAR_4->VAR_4src_bufVAR_4 = VAR_4VAR_1VAR_4; VAR_4avfilter_copy_buffer_ref_propsVAR_4(VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4, VAR_4VAR_0VAR_4->VAR_4src_bufVAR_4); } VAR_4elseVAR_4
VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4 = VAR_4VAR_1VAR_4; VAR_4VAR_2VAR_4(VAR_4VAR_0VAR_4, VAR_4VAR_0VAR_4->VAR_4cur_bufVAR_4); }