static int link_filter_inouts(AVFilterContext *filt_ctx,

                              AVFilterInOut **curr_inputs,

                              AVFilterInOut **open_inputs, AVClass *log_ctx)

{

    int pad = filt_ctx->input_count, ret;



    while (pad--) {

        AVFilterInOut *p = *curr_inputs;

        if (!p) {

            av_log(log_ctx, AV_LOG_ERROR,

                   "Not enough inputs specified for the \"%s\" filter.\n",

                   filt_ctx->filter->name);

            return AVERROR(EINVAL);

        }



        *curr_inputs = (*curr_inputs)->next;



        if (p->filter) {

            if ((ret = link_filter(p->filter, p->pad_idx, filt_ctx, pad, log_ctx)) < 0)

                return ret;

            av_free(p->name);

            av_free(p);

        } else {

            p->filter = filt_ctx;

            p->pad_idx = pad;

            insert_inout(open_inputs, p);

        }

    }



    if (*curr_inputs) {

        av_log(log_ctx, AV_LOG_ERROR,

               "Too many inputs specified for the \"%s\" filter.\n",

               filt_ctx->filter->name);

        return AVERROR(EINVAL);

    }



    pad = filt_ctx->output_count;

    while (pad--) {

        AVFilterInOut *currlinkn = av_mallocz(sizeof(AVFilterInOut));



        currlinkn->filter  = filt_ctx;

        currlinkn->pad_idx = pad;

        insert_inout(curr_inputs, currlinkn);

    }



    return 0;

}
static int link_filter_inouts(AVFilterContext *filt_ctx,

                              AVFilterInOut **curr_inputs,

                              AVFilterInOut **open_inputs, AVClass *log_ctx)

{

    int pad = filt_ctx->input_count, ret;



    while (pad--) {

        AVFilterInOut *p = *curr_inputs;

        if (!p) {

            av_log(log_ctx, AV_LOG_ERROR,

                   "Not enough inputs specified for the \"%s\" filter.\n",

                   filt_ctx->filter->name);

            return AVERROR(EINVAL);

        }



        *curr_inputs = (*curr_inputs)->next;



        if (p->filter) {

            if ((ret = link_filter(p->filter, p->pad_idx, filt_ctx, pad, log_ctx)) < 0)

                return ret;

            av_free(p->name);

            av_free(p);

        } else {

            p->filter = filt_ctx;

            p->pad_idx = pad;

            insert_inout(open_inputs, p);

        }

    }



    if (*curr_inputs) {

        av_log(log_ctx, AV_LOG_ERROR,

               "Too many inputs specified for the \"%s\" filter.\n",

               filt_ctx->filter->name);

        return AVERROR(EINVAL);

    }



    pad = filt_ctx->output_count;

    while (pad--) {

        AVFilterInOut *currlinkn = av_mallocz(sizeof(AVFilterInOut));



        currlinkn->filter  = filt_ctx;

        currlinkn->pad_idx = pad;

        insert_inout(curr_inputs, currlinkn);

    }



    return 0;

}
static int FUNC_0(AVFilterContext *VAR_0,

                              AVFilterInOut **VAR_1,

                              AVFilterInOut **VAR_2, AVClass *VAR_3)

{

    int VAR_4 = VAR_0->input_count, VAR_5;



    while (VAR_4--) {

        AVFilterInOut *p = *VAR_1;

        if (!p) {

            av_log(VAR_3, AV_LOG_ERROR,

                   "Not enough inputs specified for the \"%s\" filter.\n",

                   VAR_0->filter->name);

            return AVERROR(EINVAL);

        }



        *VAR_1 = (*VAR_1)->next;



        if (p->filter) {

            if ((VAR_5 = link_filter(p->filter, p->pad_idx, VAR_0, VAR_4, VAR_3)) < 0)

                return VAR_5;

            av_free(p->name);

            av_free(p);

        } else {

            p->filter = VAR_0;

            p->pad_idx = VAR_4;

            insert_inout(VAR_2, p);

        }

    }



    if (*VAR_1) {

        av_log(VAR_3, AV_LOG_ERROR,

               "Too many inputs specified for the \"%s\" filter.\n",

               VAR_0->filter->name);

        return AVERROR(EINVAL);

    }



    VAR_4 = VAR_0->output_count;

    while (VAR_4--) {

        AVFilterInOut *currlinkn = av_mallocz(sizeof(AVFilterInOut));



        currlinkn->filter  = VAR_0;

        currlinkn->pad_idx = VAR_4;

        insert_inout(VAR_1, currlinkn);

    }



    return 0;

}
static int FUNC_0(AVFilterContext *VAR_0,
AVFilterInOut **VAR_1,
AVFilterInOut **VAR_2, AVClass *VAR_3)
{ int VAR_4 = VAR_0->input_count, VAR_5; while (VAR_4--) { AVFilterInOut *p = *VAR_1; if (!p) { av_log(VAR_3, AV_LOG_ERROR,
"Not enough inputs specified for the \"%s\" filter.\n",
VAR_0->filter->name); return AVERROR(EINVAL); } *VAR_1 = (*VAR_1)->next; if (p->filter) { if ((VAR_5 = link_filter(p->filter, p->pad_idx, VAR_0, VAR_4, VAR_3)) < 0)
return VAR_5; av_free(p->name); av_free(p); } else { p->filter = VAR_0; p->pad_idx = VAR_4; insert_inout(VAR_2, p); } } if (*VAR_1) { av_log(VAR_3, AV_LOG_ERROR,
"Too many inputs specified for the \"%s\" filter.\n",
VAR_0->filter->name); return AVERROR(EINVAL); } VAR_4 = VAR_0->output_count; while (VAR_4--) { AVFilterInOut *currlinkn = av_mallocz(sizeof(AVFilterInOut)); currlinkn->filter  = VAR_0; currlinkn->pad_idx = VAR_4; insert_inout(VAR_1, currlinkn); } return 0; }