static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)

{

    AVStream *stream = fmt_ctx->streams[stream_idx];

    AVCodecContext *dec_ctx;

    AVCodec *dec;

    char val_str[128];

    AVDictionaryEntry *tag = NULL;

    AVRational display_aspect_ratio;



    printf("[STREAM]\n");



    printf("index=%d\n", stream->index);



    if ((dec_ctx = stream->codec)) {

        if ((dec = dec_ctx->codec)) {

            printf("codec_name=%s\n", dec->name);

            printf("codec_long_name=%s\n", dec->long_name);

        } else {

            printf("codec_name=unknown\n");

        }



        printf("codec_type=%s\n", media_type_string(dec_ctx->codec_type));

        printf("codec_time_base=%d/%d\n",

               dec_ctx->time_base.num, dec_ctx->time_base.den);



        /* print AVI/FourCC tag */

        av_get_codec_tag_string(val_str, sizeof(val_str), dec_ctx->codec_tag);

        printf("codec_tag_string=%s\n", val_str);

        printf("codec_tag=0x%04x\n", dec_ctx->codec_tag);



        switch (dec_ctx->codec_type) {

        case AVMEDIA_TYPE_VIDEO:

            printf("width=%d\n", dec_ctx->width);

            printf("height=%d\n", dec_ctx->height);

            printf("has_b_frames=%d\n", dec_ctx->has_b_frames);

            if (dec_ctx->sample_aspect_ratio.num) {

                printf("sample_aspect_ratio=%d:%d\n",

                       dec_ctx->sample_aspect_ratio.num,

                       dec_ctx->sample_aspect_ratio.den);

                av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,

                          dec_ctx->width  * dec_ctx->sample_aspect_ratio.num,

                          dec_ctx->height * dec_ctx->sample_aspect_ratio.den,

                          1024*1024);

                printf("display_aspect_ratio=%d:%d\n",

                       display_aspect_ratio.num, display_aspect_ratio.den);

            }

            printf("pix_fmt=%s\n",

                   dec_ctx->pix_fmt != PIX_FMT_NONE ? av_pix_fmt_descriptors[dec_ctx->pix_fmt].name

                                                    : "unknown");

            printf("level=%d\n", dec_ctx->level);

            break;



        case AVMEDIA_TYPE_AUDIO:

            printf("sample_rate=%s\n", value_string(val_str, sizeof(val_str),

                                                    dec_ctx->sample_rate,

                                                    unit_hertz_str));

            printf("channels=%d\n", dec_ctx->channels);

            printf("bits_per_sample=%d\n",

                   av_get_bits_per_sample(dec_ctx->codec_id));

            break;

        }

    } else {

        printf("codec_type=unknown\n");

    }



    if (fmt_ctx->iformat->flags & AVFMT_SHOW_IDS)

        printf("id=0x%x\n", stream->id);

    printf("r_frame_rate=%d/%d\n",

           stream->r_frame_rate.num, stream->r_frame_rate.den);

    printf("avg_frame_rate=%d/%d\n",

           stream->avg_frame_rate.num, stream->avg_frame_rate.den);

    printf("time_base=%d/%d\n",

           stream->time_base.num, stream->time_base.den);

    printf("start_time=%s\n",

           time_value_string(val_str, sizeof(val_str),

                             stream->start_time, &stream->time_base));

    printf("duration=%s\n",

           time_value_string(val_str, sizeof(val_str),

                             stream->duration, &stream->time_base));

    if (stream->nb_frames)

        printf("nb_frames=%"PRId64"\n", stream->nb_frames);



    while ((tag = av_dict_get(stream->metadata, "", tag,

                              AV_DICT_IGNORE_SUFFIX)))

        printf("TAG:%s=%s\n", tag->key, tag->value);



    printf("[/STREAM]\n");

}

static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)

{

    AVStream *stream = fmt_ctx->streams[stream_idx];

    AVCodecContext *dec_ctx;

    AVCodec *dec;

    char val_str[128];

    AVDictionaryEntry *tag = NULL;

    AVRational display_aspect_ratio;



    printf("[STREAM]\n");



    printf("index=%d\n", stream->index);



    if ((dec_ctx = stream->codec)) {

        if ((dec = dec_ctx->codec)) {

            printf("codec_name=%s\n", dec->name);

            printf("codec_long_name=%s\n", dec->long_name);

        } else {

            printf("codec_name=unknown\n");

        }



        printf("codec_type=%s\n", media_type_string(dec_ctx->codec_type));

        printf("codec_time_base=%d/%d\n",

               dec_ctx->time_base.num, dec_ctx->time_base.den);



        

        av_get_codec_tag_string(val_str, sizeof(val_str), dec_ctx->codec_tag);

        printf("codec_tag_string=%s\n", val_str);

        printf("codec_tag=0x%04x\n", dec_ctx->codec_tag);



        switch (dec_ctx->codec_type) {

        case AVMEDIA_TYPE_VIDEO:

            printf("width=%d\n", dec_ctx->width);

            printf("height=%d\n", dec_ctx->height);

            printf("has_b_frames=%d\n", dec_ctx->has_b_frames);

            if (dec_ctx->sample_aspect_ratio.num) {

                printf("sample_aspect_ratio=%d:%d\n",

                       dec_ctx->sample_aspect_ratio.num,

                       dec_ctx->sample_aspect_ratio.den);

                av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,

                          dec_ctx->width  * dec_ctx->sample_aspect_ratio.num,

                          dec_ctx->height * dec_ctx->sample_aspect_ratio.den,

                          1024*1024);

                printf("display_aspect_ratio=%d:%d\n",

                       display_aspect_ratio.num, display_aspect_ratio.den);

            }

            printf("pix_fmt=%s\n",

                   dec_ctx->pix_fmt != PIX_FMT_NONE ? av_pix_fmt_descriptors[dec_ctx->pix_fmt].name

                                                    : "unknown");

            printf("level=%d\n", dec_ctx->level);

            break;



        case AVMEDIA_TYPE_AUDIO:

            printf("sample_rate=%s\n", value_string(val_str, sizeof(val_str),

                                                    dec_ctx->sample_rate,

                                                    unit_hertz_str));

            printf("channels=%d\n", dec_ctx->channels);

            printf("bits_per_sample=%d\n",

                   av_get_bits_per_sample(dec_ctx->codec_id));

            break;

        }

    } else {

        printf("codec_type=unknown\n");

    }



    if (fmt_ctx->iformat->flags & AVFMT_SHOW_IDS)

        printf("id=0x%x\n", stream->id);

    printf("r_frame_rate=%d/%d\n",

           stream->r_frame_rate.num, stream->r_frame_rate.den);

    printf("avg_frame_rate=%d/%d\n",

           stream->avg_frame_rate.num, stream->avg_frame_rate.den);

    printf("time_base=%d/%d\n",

           stream->time_base.num, stream->time_base.den);

    printf("start_time=%s\n",

           time_value_string(val_str, sizeof(val_str),

                             stream->start_time, &stream->time_base));

    printf("duration=%s\n",

           time_value_string(val_str, sizeof(val_str),

                             stream->duration, &stream->time_base));

    if (stream->nb_frames)

        printf("nb_frames=%"PRId64"\n", stream->nb_frames);



    while ((tag = av_dict_get(stream->metadata, "", tag,

                              AV_DICT_IGNORE_SUFFIX)))

        printf("TAG:%s=%s\n", tag->key, tag->value);



    printf("[/STREAM]\n");

}

static void FUNC_0(AVFormatContext *VAR_0, int VAR_1)

{

    AVStream *stream = VAR_0->streams[VAR_1];

    AVCodecContext *dec_ctx;

    AVCodec *dec;

    char VAR_2[128];

    AVDictionaryEntry *tag = NULL;

    AVRational display_aspect_ratio;



    printf("[STREAM]\n");



    printf("index=%d\n", stream->index);



    if ((dec_ctx = stream->codec)) {

        if ((dec = dec_ctx->codec)) {

            printf("codec_name=%s\n", dec->name);

            printf("codec_long_name=%s\n", dec->long_name);

        } else {

            printf("codec_name=unknown\n");

        }



        printf("codec_type=%s\n", media_type_string(dec_ctx->codec_type));

        printf("codec_time_base=%d/%d\n",

               dec_ctx->time_base.num, dec_ctx->time_base.den);



        

        av_get_codec_tag_string(VAR_2, sizeof(VAR_2), dec_ctx->codec_tag);

        printf("codec_tag_string=%s\n", VAR_2);

        printf("codec_tag=0x%04x\n", dec_ctx->codec_tag);



        switch (dec_ctx->codec_type) {

        case AVMEDIA_TYPE_VIDEO:

            printf("width=%d\n", dec_ctx->width);

            printf("height=%d\n", dec_ctx->height);

            printf("has_b_frames=%d\n", dec_ctx->has_b_frames);

            if (dec_ctx->sample_aspect_ratio.num) {

                printf("sample_aspect_ratio=%d:%d\n",

                       dec_ctx->sample_aspect_ratio.num,

                       dec_ctx->sample_aspect_ratio.den);

                av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,

                          dec_ctx->width  * dec_ctx->sample_aspect_ratio.num,

                          dec_ctx->height * dec_ctx->sample_aspect_ratio.den,

                          1024*1024);

                printf("display_aspect_ratio=%d:%d\n",

                       display_aspect_ratio.num, display_aspect_ratio.den);

            }

            printf("pix_fmt=%s\n",

                   dec_ctx->pix_fmt != PIX_FMT_NONE ? av_pix_fmt_descriptors[dec_ctx->pix_fmt].name

                                                    : "unknown");

            printf("level=%d\n", dec_ctx->level);

            break;



        case AVMEDIA_TYPE_AUDIO:

            printf("sample_rate=%s\n", value_string(VAR_2, sizeof(VAR_2),

                                                    dec_ctx->sample_rate,

                                                    unit_hertz_str));

            printf("channels=%d\n", dec_ctx->channels);

            printf("bits_per_sample=%d\n",

                   av_get_bits_per_sample(dec_ctx->codec_id));

            break;

        }

    } else {

        printf("codec_type=unknown\n");

    }



    if (VAR_0->iformat->flags & AVFMT_SHOW_IDS)

        printf("id=0x%x\n", stream->id);

    printf("r_frame_rate=%d/%d\n",

           stream->r_frame_rate.num, stream->r_frame_rate.den);

    printf("avg_frame_rate=%d/%d\n",

           stream->avg_frame_rate.num, stream->avg_frame_rate.den);

    printf("time_base=%d/%d\n",

           stream->time_base.num, stream->time_base.den);

    printf("start_time=%s\n",

           time_value_string(VAR_2, sizeof(VAR_2),

                             stream->start_time, &stream->time_base));

    printf("duration=%s\n",

           time_value_string(VAR_2, sizeof(VAR_2),

                             stream->duration, &stream->time_base));

    if (stream->nb_frames)

        printf("nb_frames=%"PRId64"\n", stream->nb_frames);



    while ((tag = av_dict_get(stream->metadata, "", tag,

                              AV_DICT_IGNORE_SUFFIX)))

        printf("TAG:%s=%s\n", tag->key, tag->value);



    printf("[/STREAM]\n");

}

static void FUNC_0(AVFormatContext *VAR_0, int VAR_1)
{ AVStream *stream = VAR_0->streams[VAR_1]; AVCodecContext *dec_ctx; AVCodec *dec; char VAR_2[128]; AVDictionaryEntry *tag = NULL; AVRational display_aspect_ratio; printf("[STREAM]\n"); printf("index=%d\n", stream->index); if ((dec_ctx = stream->codec)) { if ((dec = dec_ctx->codec)) { printf("codec_name=%s\n", dec->name); printf("codec_long_name=%s\n", dec->long_name); } else { printf("codec_name=unknown\n"); } printf("codec_type=%s\n", media_type_string(dec_ctx->codec_type)); printf("codec_time_base=%d/%d\n",
dec_ctx->time_base.num, dec_ctx->time_base.den); av_get_codec_tag_string(VAR_2, sizeof(VAR_2), dec_ctx->codec_tag); printf("codec_tag_string=%s\n", VAR_2); printf("codec_tag=0x%04x\n", dec_ctx->codec_tag); switch (dec_ctx->codec_type) { case AVMEDIA_TYPE_VIDEO:
printf("width=%d\n", dec_ctx->width); printf("height=%d\n", dec_ctx->height); printf("has_b_frames=%d\n", dec_ctx->has_b_frames); if (dec_ctx->sample_aspect_ratio.num) { printf("sample_aspect_ratio=%d:%d\n",
dec_ctx->sample_aspect_ratio.num,
dec_ctx->sample_aspect_ratio.den); av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
dec_ctx->width  * dec_ctx->sample_aspect_ratio.num,
dec_ctx->height * dec_ctx->sample_aspect_ratio.den,
1024*1024); printf("display_aspect_ratio=%d:%d\n",
display_aspect_ratio.num, display_aspect_ratio.den); } printf("pix_fmt=%s\n",
dec_ctx->pix_fmt != PIX_FMT_NONE ? av_pix_fmt_descriptors[dec_ctx->pix_fmt].name
: "unknown"); printf("level=%d\n", dec_ctx->level); break; case AVMEDIA_TYPE_AUDIO:
printf("sample_rate=%s\n", value_string(VAR_2, sizeof(VAR_2),
dec_ctx->sample_rate,
unit_hertz_str)); printf("channels=%d\n", dec_ctx->channels); printf("bits_per_sample=%d\n",
av_get_bits_per_sample(dec_ctx->codec_id)); break; } } else { printf("codec_type=unknown\n"); } if (VAR_0->iformat->flags & AVFMT_SHOW_IDS)
printf("id=0x%x\n", stream->id); printf("r_frame_rate=%d/%d\n",
stream->r_frame_rate.num, stream->r_frame_rate.den); printf("avg_frame_rate=%d/%d\n",
stream->avg_frame_rate.num, stream->avg_frame_rate.den); printf("time_base=%d/%d\n",
stream->time_base.num, stream->time_base.den); printf("start_time=%s\n",
time_value_string(VAR_2, sizeof(VAR_2),
stream->start_time, &stream->time_base)); printf("duration=%s\n",
time_value_string(VAR_2, sizeof(VAR_2),
stream->duration, &stream->time_base)); if (stream->nb_frames)
printf("nb_frames=%"PRId64"\n", stream->nb_frames); while ((tag = av_dict_get(stream->metadata, "", tag,
AV_DICT_IGNORE_SUFFIX)))
printf("TAG:%s=%s\n", tag->key, tag->value); printf("[/STREAM]\n"); }