static void print_formats(AVFilterContext *filter_ctx)

{

    int i, j;



#define PRINT_FMTS(inout, outin, INOUT)                                 \

    for (i = 0; i < filter_ctx->nb_##inout##puts; i++) {                     \

        if (filter_ctx->inout##puts[i]->type == AVMEDIA_TYPE_VIDEO) {   \

            AVFilterFormats *fmts =                                     \

                filter_ctx->inout##puts[i]->outin##_formats;            \

            for (j = 0; j < fmts->nb_formats; j++)                    \

                if(av_get_pix_fmt_name(fmts->formats[j]))               \

                printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \

                       i, filter_ctx->filter->inout##puts[i].name,      \

                       av_get_pix_fmt_name(fmts->formats[j]));          \

        } else if (filter_ctx->inout##puts[i]->type == AVMEDIA_TYPE_AUDIO) { \

            AVFilterFormats *fmts;                                      \

            AVFilterChannelLayouts *layouts;                            \

                                                                        \

            fmts = filter_ctx->inout##puts[i]->outin##_formats;         \

            for (j = 0; j < fmts->nb_formats; j++)                    \

                printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \

                       i, filter_ctx->filter->inout##puts[i].name,      \

                       av_get_sample_fmt_name(fmts->formats[j]));       \

                                                                        \

            layouts = filter_ctx->inout##puts[i]->outin##_channel_layouts; \

            for (j = 0; j < layouts->nb_channel_layouts; j++) {                  \

                char buf[256];                                          \

                av_get_channel_layout_string(buf, sizeof(buf), -1,      \

                                             layouts->channel_layouts[j]);         \

                printf(#INOUT "PUT[%d] %s: chlayout:%s\n",              \

                       i, filter_ctx->filter->inout##puts[i].name, buf); \

            }                                                           \

        }                                                               \

    }                                                                   \



    PRINT_FMTS(in,  out, IN);

    PRINT_FMTS(out, in,  OUT);

}

static void print_formats(AVFilterContext *filter_ctx)

{

    int i, j;



#define PRINT_FMTS(inout, outin, INOUT)                                 \

    for (i = 0; i < filter_ctx->nb_##inout##puts; i++) {                     \

        if (filter_ctx->inout##puts[i]->type == AVMEDIA_TYPE_VIDEO) {   \

            AVFilterFormats *fmts =                                     \

                filter_ctx->inout##puts[i]->outin##_formats;            \

            for (j = 0; j < fmts->nb_formats; j++)                    \

                if(av_get_pix_fmt_name(fmts->formats[j]))               \

                printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \

                       i, filter_ctx->filter->inout##puts[i].name,      \

                       av_get_pix_fmt_name(fmts->formats[j]));          \

        } else if (filter_ctx->inout##puts[i]->type == AVMEDIA_TYPE_AUDIO) { \

            AVFilterFormats *fmts;                                      \

            AVFilterChannelLayouts *layouts;                            \

                                                                        \

            fmts = filter_ctx->inout##puts[i]->outin##_formats;         \

            for (j = 0; j < fmts->nb_formats; j++)                    \

                printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \

                       i, filter_ctx->filter->inout##puts[i].name,      \

                       av_get_sample_fmt_name(fmts->formats[j]));       \

                                                                        \

            layouts = filter_ctx->inout##puts[i]->outin##_channel_layouts; \

            for (j = 0; j < layouts->nb_channel_layouts; j++) {                  \

                char buf[256];                                          \

                av_get_channel_layout_string(buf, sizeof(buf), -1,      \

                                             layouts->channel_layouts[j]);         \

                printf(#INOUT "PUT[%d] %s: chlayout:%s\n",              \

                       i, filter_ctx->filter->inout##puts[i].name, buf); \

            }                                                           \

        }                                                               \

    }                                                                   \



    PRINT_FMTS(in,  out, IN);

    PRINT_FMTS(out, in,  OUT);

}

                       i, filter_ctx->filter->inout##puts[i].name,      \                        i, filter_ctx->filter->inout##puts[i].name,      \                        i, filter_ctx->filter->inout##puts[i].name, buf); \
static void FUNC_0(AVFilterContext *VAR_0)

{

    int VAR_1, VAR_2;



#define PRINT_FMTS(inout, outin, INOUT)                                 \

    for (VAR_1 = 0; VAR_1 < VAR_0->nb_##inout##puts; VAR_1++) {                     \

        if (VAR_0->inout##puts[VAR_1]->type == AVMEDIA_TYPE_VIDEO) {   \

            AVFilterFormats *fmts =                                     \

                VAR_0->inout##puts[VAR_1]->outin##_formats;            \

            for (VAR_2 = 0; VAR_2 < fmts->nb_formats; VAR_2++)                    \

                if(av_get_pix_fmt_name(fmts->formats[VAR_2]))               \

                printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \

                       VAR_1, VAR_0->filter->inout##puts[VAR_1].name,      \

                       av_get_pix_fmt_name(fmts->formats[VAR_2]));          \

        } else if (VAR_0->inout##puts[VAR_1]->type == AVMEDIA_TYPE_AUDIO) { \

            AVFilterFormats *fmts;                                      \

            AVFilterChannelLayouts *layouts;                            \

                                                                        \

            fmts = VAR_0->inout##puts[VAR_1]->outin##_formats;         \

            for (VAR_2 = 0; VAR_2 < fmts->nb_formats; VAR_2++)                    \

                printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \

                       VAR_1, VAR_0->filter->inout##puts[VAR_1].name,      \

                       av_get_sample_fmt_name(fmts->formats[VAR_2]));       \

                                                                        \

            layouts = VAR_0->inout##puts[VAR_1]->outin##_channel_layouts; \

            for (VAR_2 = 0; VAR_2 < layouts->nb_channel_layouts; VAR_2++) {                  \

                char buf[256];                                          \

                av_get_channel_layout_string(buf, sizeof(buf), -1,      \

                                             layouts->channel_layouts[VAR_2]);         \

                printf(#INOUT "PUT[%d] %s: chlayout:%s\n",              \

                       VAR_1, VAR_0->filter->inout##puts[VAR_1].name, buf); \

            }                                                           \

        }                                                               \

    }                                                                   \



    PRINT_FMTS(in,  out, IN);

    PRINT_FMTS(out, in,  OUT);

}

static void FUNC_0(AVFilterContext *VAR_0)
{ int VAR_1, VAR_2; #define PRINT_FMTS(inout, outin, INOUT)                                 \
for (VAR_1 = 0; VAR_1 < VAR_0->nb_##inout##puts; VAR_1++) {                     \ if (VAR_0->inout##puts[VAR_1]->type == AVMEDIA_TYPE_VIDEO) {   \ AVFilterFormats *fmts =                                     \
VAR_0->inout##puts[VAR_1]->outin##_formats;            \ for (VAR_2 = 0; VAR_2 < fmts->nb_formats; VAR_2++)                    \ if(av_get_pix_fmt_name(fmts->formats[VAR_2]))               \
printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \
VAR_1, VAR_0->filter->inout##puts[VAR_1].name,      \
av_get_pix_fmt_name(fmts->formats[VAR_2]));          \ } else if (VAR_0->inout##puts[VAR_1]->type == AVMEDIA_TYPE_AUDIO) { \ AVFilterFormats *fmts;                                      \ AVFilterChannelLayouts *layouts;                            \ \
fmts = VAR_0->inout##puts[VAR_1]->outin##_formats;         \ for (VAR_2 = 0; VAR_2 < fmts->nb_formats; VAR_2++)                    \ printf(#INOUT "PUT[%d] %s: fmt:%s\n",                   \
VAR_1, VAR_0->filter->inout##puts[VAR_1].name,      \
av_get_sample_fmt_name(fmts->formats[VAR_2]));       \ \
layouts = VAR_0->inout##puts[VAR_1]->outin##_channel_layouts; \ for (VAR_2 = 0; VAR_2 < layouts->nb_channel_layouts; VAR_2++) {                  \ char buf[256];                                          \ av_get_channel_layout_string(buf, sizeof(buf), -1,      \
layouts->channel_layouts[VAR_2]);         \ printf(#INOUT "PUT[%d] %s: chlayout:%s\n",              \
VAR_1, VAR_0->filter->inout##puts[VAR_1].name, buf); \ }                                                           \ }                                                               \ }                                                                   \ PRINT_FMTS(in,  out, IN); PRINT_FMTS(out, in,  OUT); }