static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)

{

    AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);

    AVFilterContext *ctx = inlink->dst;

    OverlayContext *over = ctx->priv;

    av_unused AVFilterLink *outlink = ctx->outputs[0];



    inlink->dst->outputs[0]->out_buf = outpicref;

    outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,

                                  ctx->outputs[0]->time_base);



    if (!over->overpicref || over->overpicref->pts < outpicref->pts) {

        if (!over->overpicref_next)

            avfilter_request_frame(ctx->inputs[OVERLAY]);



        if (over->overpicref && over->overpicref_next &&

            over->overpicref_next->pts <= outpicref->pts) {

            avfilter_unref_buffer(over->overpicref);

            over->overpicref = over->overpicref_next;

            over->overpicref_next = NULL;

        }

    }



    av_dlog(ctx, "main_pts:%s main_pts_time:%s",

            av_ts2str(outpicref->pts), av_ts2timestr(outpicref->pts, &outlink->time_base));

    if (over->overpicref)

        av_dlog(ctx, " over_pts:%s over_pts_time:%s",

                av_ts2str(over->overpicref->pts), av_ts2timestr(over->overpicref->pts, &outlink->time_base));

    av_dlog(ctx, "\n");



    avfilter_start_frame(inlink->dst->outputs[0], outpicref);

}

static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)

{

    AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);

    AVFilterContext *ctx = inlink->dst;

    OverlayContext *over = ctx->priv;

    av_unused AVFilterLink *outlink = ctx->outputs[0];



    inlink->dst->outputs[0]->out_buf = outpicref;

    outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,

                                  ctx->outputs[0]->time_base);



    if (!over->overpicref || over->overpicref->pts < outpicref->pts) {

        if (!over->overpicref_next)

            avfilter_request_frame(ctx->inputs[OVERLAY]);



        if (over->overpicref && over->overpicref_next &&

            over->overpicref_next->pts <= outpicref->pts) {

            avfilter_unref_buffer(over->overpicref);

            over->overpicref = over->overpicref_next;

            over->overpicref_next = NULL;

        }

    }



    av_dlog(ctx, "main_pts:%s main_pts_time:%s",

            av_ts2str(outpicref->pts), av_ts2timestr(outpicref->pts, &outlink->time_base));

    if (over->overpicref)

        av_dlog(ctx, " over_pts:%s over_pts_time:%s",

                av_ts2str(over->overpicref->pts), av_ts2timestr(over->overpicref->pts, &outlink->time_base));

    av_dlog(ctx, "\n");



    avfilter_start_frame(inlink->dst->outputs[0], outpicref);

}

static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)     AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);     AVFilterContext *ctx = inlink->dst;     OverlayContext *over = ctx->priv;     av_unused AVFilterLink *outlink = ctx->outputs[0];     inlink->dst->outputs[0]->out_buf = outpicref;     outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,                                   ctx->outputs[0]->time_base);     if (!over->overpicref || over->overpicref->pts < outpicref->pts) {         if (!over->overpicref_next)             avfilter_request_frame(ctx->inputs[OVERLAY]);         if (over->overpicref && over->overpicref_next &&             over->overpicref_next->pts <= outpicref->pts) {             avfilter_unref_buffer(over->overpicref);             over->overpicref = over->overpicref_next;             over->overpicref_next = NULL;     av_dlog(ctx, "main_pts:%s main_pts_time:%s",             av_ts2str(outpicref->pts), av_ts2timestr(outpicref->pts, &outlink->time_base));     if (over->overpicref)         av_dlog(ctx, " over_pts:%s over_pts_time:%s",                 av_ts2str(over->overpicref->pts), av_ts2timestr(over->overpicref->pts, &outlink->time_base));     av_dlog(ctx, "\n");     avfilter_start_frame(inlink->dst->outputs[0], outpicref);     AVFilterContext *ctx = inlink->dst;     OverlayContext *over = ctx->priv;     AVFilterContext *ctx = inlink->dst;
static void FUNC_0(AVFilterLink *VAR_0, AVFilterBufferRef *VAR_1)

{

    AVFilterBufferRef *outpicref = avfilter_ref_buffer(VAR_1, ~0);

    AVFilterContext *ctx = VAR_0->dst;

    OverlayContext *over = ctx->priv;

    av_unused AVFilterLink *outlink = ctx->outputs[0];



    VAR_0->dst->outputs[0]->out_buf = outpicref;

    outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,

                                  ctx->outputs[0]->time_base);



    if (!over->overpicref || over->overpicref->pts < outpicref->pts) {

        if (!over->overpicref_next)

            avfilter_request_frame(ctx->inputs[OVERLAY]);



        if (over->overpicref && over->overpicref_next &&

            over->overpicref_next->pts <= outpicref->pts) {

            avfilter_unref_buffer(over->overpicref);

            over->overpicref = over->overpicref_next;

            over->overpicref_next = NULL;

        }

    }



    av_dlog(ctx, "main_pts:%s main_pts_time:%s",

            av_ts2str(outpicref->pts), av_ts2timestr(outpicref->pts, &outlink->time_base));

    if (over->overpicref)

        av_dlog(ctx, " over_pts:%s over_pts_time:%s",

                av_ts2str(over->overpicref->pts), av_ts2timestr(over->overpicref->pts, &outlink->time_base));

    av_dlog(ctx, "\n");



    avfilter_start_frame(VAR_0->dst->outputs[0], outpicref);

}

static void FUNC_0(AVFilterLink *VAR_0, AVFilterBufferRef *VAR_1)
{ AVFilterBufferRef *outpicref = avfilter_ref_buffer(VAR_1, ~0); AVFilterContext *ctx = VAR_0->dst; OverlayContext *over = ctx->priv; av_unused AVFilterLink *outlink = ctx->outputs[0]; VAR_0->dst->outputs[0]->out_buf = outpicref; outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,
ctx->outputs[0]->time_base); if (!over->overpicref || over->overpicref->pts < outpicref->pts) { if (!over->overpicref_next)
avfilter_request_frame(ctx->inputs[OVERLAY]); if (over->overpicref && over->overpicref_next &&
over->overpicref_next->pts <= outpicref->pts) { avfilter_unref_buffer(over->overpicref); over->overpicref = over->overpicref_next; over->overpicref_next = NULL; } } av_dlog(ctx, "main_pts:%s main_pts_time:%s",
av_ts2str(outpicref->pts), av_ts2timestr(outpicref->pts, &outlink->time_base)); if (over->overpicref)
av_dlog(ctx, " over_pts:%s over_pts_time:%s",
av_ts2str(over->overpicref->pts), av_ts2timestr(over->overpicref->pts, &outlink->time_base)); av_dlog(ctx, "\n"); avfilter_start_frame(VAR_0->dst->outputs[0], outpicref); }