int show_formats(void *optctx, const char *opt, const char *arg)

{

    AVInputFormat *ifmt  = NULL;

    AVOutputFormat *ofmt = NULL;

    const char *last_name;



    printf("File formats:\n"

           " D. = Demuxing supported\n"

           " .E = Muxing supported\n"

           " --\n");

    last_name = "000";

    for (;;) {

        int decode = 0;

        int encode = 0;

        const char *name      = NULL;

        const char *long_name = NULL;



        while ((ofmt = av_oformat_next(ofmt))) {

            if ((name == NULL || strcmp(ofmt->name, name) < 0) &&

                strcmp(ofmt->name, last_name) > 0) {

                name      = ofmt->name;

                long_name = ofmt->long_name;

                encode    = 1;

            }

        }

        while ((ifmt = av_iformat_next(ifmt))) {

            if ((name == NULL || strcmp(ifmt->name, name) < 0) &&

                strcmp(ifmt->name, last_name) > 0) {

                name      = ifmt->name;

                long_name = ifmt->long_name;

                encode    = 0;

            }

            if (name && strcmp(ifmt->name, name) == 0)

                decode = 1;

        }

        if (name == NULL)

            break;

        last_name = name;



        printf(" %s%s %-15s %s\n",

               decode ? "D" : " ",

               encode ? "E" : " ",

               name,

            long_name ? long_name:" ");

    }

    return 0;

}

int show_formats(void *optctx, const char *opt, const char *arg)

{

    AVInputFormat *ifmt  = NULL;

    AVOutputFormat *ofmt = NULL;

    const char *last_name;



    printf("File formats:\n"

           " D. = Demuxing supported\n"

           " .E = Muxing supported\n"

           " --\n");

    last_name = "000";

    for (;;) {

        int decode = 0;

        int encode = 0;

        const char *name      = NULL;

        const char *long_name = NULL;



        while ((ofmt = av_oformat_next(ofmt))) {

            if ((name == NULL || strcmp(ofmt->name, name) < 0) &&

                strcmp(ofmt->name, last_name) > 0) {

                name      = ofmt->name;

                long_name = ofmt->long_name;

                encode    = 1;

            }

        }

        while ((ifmt = av_iformat_next(ifmt))) {

            if ((name == NULL || strcmp(ifmt->name, name) < 0) &&

                strcmp(ifmt->name, last_name) > 0) {

                name      = ifmt->name;

                long_name = ifmt->long_name;

                encode    = 0;

            }

            if (name && strcmp(ifmt->name, name) == 0)

                decode = 1;

        }

        if (name == NULL)

            break;

        last_name = name;



        printf(" %s%s %-15s %s\n",

               decode ? "D" : " ",

               encode ? "E" : " ",

               name,

            long_name ? long_name:" ");

    }

    return 0;

}

int FUNC_0(void *VAR_0, const char *VAR_1, const char *VAR_2)

{

    AVInputFormat *ifmt  = NULL;

    AVOutputFormat *ofmt = NULL;

    const char *VAR_3;



    printf("File formats:\n"

           " D. = Demuxing supported\n"

           " .E = Muxing supported\n"

           " --\n");

    VAR_3 = "000";

    for (;;) {

        int VAR_4 = 0;

        int VAR_5 = 0;

        const char *VAR_6      = NULL;

        const char *VAR_7 = NULL;



        while ((ofmt = av_oformat_next(ofmt))) {

            if ((VAR_6 == NULL || strcmp(ofmt->VAR_6, VAR_6) < 0) &&

                strcmp(ofmt->VAR_6, VAR_3) > 0) {

                VAR_6      = ofmt->VAR_6;

                VAR_7 = ofmt->VAR_7;

                VAR_5    = 1;

            }

        }

        while ((ifmt = av_iformat_next(ifmt))) {

            if ((VAR_6 == NULL || strcmp(ifmt->VAR_6, VAR_6) < 0) &&

                strcmp(ifmt->VAR_6, VAR_3) > 0) {

                VAR_6      = ifmt->VAR_6;

                VAR_7 = ifmt->VAR_7;

                VAR_5    = 0;

            }

            if (VAR_6 && strcmp(ifmt->VAR_6, VAR_6) == 0)

                VAR_4 = 1;

        }

        if (VAR_6 == NULL)

            break;

        VAR_3 = VAR_6;



        printf(" %s%s %-15s %s\n",

               VAR_4 ? "D" : " ",

               VAR_5 ? "E" : " ",

               VAR_6,

            VAR_7 ? VAR_7:" ");

    }

    return 0;

}

int FUNC_0(void *VAR_0, const char *VAR_1, const char *VAR_2)
{ AVInputFormat *ifmt  = NULL; AVOutputFormat *ofmt = NULL; const char *VAR_3; printf("File formats:\n"
" D. = Demuxing supported\n"
" .E = Muxing supported\n"
" --\n"); VAR_3 = "000"; for (;;) { int VAR_4 = 0; int VAR_5 = 0; const char *VAR_6      = NULL; const char *VAR_7 = NULL; while ((ofmt = av_oformat_next(ofmt))) { if ((VAR_6 == NULL || strcmp(ofmt->VAR_6, VAR_6) < 0) &&
strcmp(ofmt->VAR_6, VAR_3) > 0) { VAR_6      = ofmt->VAR_6; VAR_7 = ofmt->VAR_7; VAR_5    = 1; } } while ((ifmt = av_iformat_next(ifmt))) { if ((VAR_6 == NULL || strcmp(ifmt->VAR_6, VAR_6) < 0) &&
strcmp(ifmt->VAR_6, VAR_3) > 0) { VAR_6      = ifmt->VAR_6; VAR_7 = ifmt->VAR_7; VAR_5    = 0; } if (VAR_6 && strcmp(ifmt->VAR_6, VAR_6) == 0)
VAR_4 = 1; } if (VAR_6 == NULL)
break; VAR_3 = VAR_6; printf(" %s%s %-15s %s\n",
VAR_4 ? "D" : " ",
VAR_5 ? "E" : " ",
VAR_6,
VAR_7 ? VAR_7:" "); } return 0; }