static void show_packets(WriterContext *w, AVFormatContext *fmt_ctx)

{

    AVPacket pkt;

    AVFrame frame;

    int i = 0;



    av_init_packet(&pkt);



    while (!av_read_frame(fmt_ctx, &pkt)) {

        if (do_show_packets)

            show_packet(w, fmt_ctx, &pkt, i++);

        if (do_show_frames &&

            get_video_frame(fmt_ctx, &frame, &pkt)) {

            show_frame(w, &frame, fmt_ctx->streams[pkt.stream_index]);

            av_destruct_packet(&pkt);

        }

    }

    av_init_packet(&pkt);

    pkt.data = NULL;

    pkt.size = 0;

    //Flush remaining frames that are cached in the decoder

    for (i = 0; i < fmt_ctx->nb_streams; i++) {

        pkt.stream_index = i;

        while (get_video_frame(fmt_ctx, &frame, &pkt))

            show_frame(w, &frame, fmt_ctx->streams[pkt.stream_index]);

    }

}

static void show_packets(WriterContext *w, AVFormatContext *fmt_ctx)

{

    AVPacket pkt;

    AVFrame frame;

    int i = 0;



    av_init_packet(&pkt);



    while (!av_read_frame(fmt_ctx, &pkt)) {

        if (do_show_packets)

            show_packet(w, fmt_ctx, &pkt, i++);

        if (do_show_frames &&

            get_video_frame(fmt_ctx, &frame, &pkt)) {

            show_frame(w, &frame, fmt_ctx->streams[pkt.stream_index]);

            av_destruct_packet(&pkt);

        }

    }

    av_init_packet(&pkt);

    pkt.data = NULL;

    pkt.size = 0;

    

    for (i = 0; i < fmt_ctx->nb_streams; i++) {

        pkt.stream_index = i;

        while (get_video_frame(fmt_ctx, &frame, &pkt))

            show_frame(w, &frame, fmt_ctx->streams[pkt.stream_index]);

    }

}

            av_destruct_packet(&pkt);
static void FUNC_0(WriterContext *VAR_0, AVFormatContext *VAR_1)

{

    AVPacket pkt;

    AVFrame frame;

    int VAR_2 = 0;



    av_init_packet(&pkt);



    while (!av_read_frame(VAR_1, &pkt)) {

        if (do_show_packets)

            show_packet(VAR_0, VAR_1, &pkt, VAR_2++);

        if (do_show_frames &&

            get_video_frame(VAR_1, &frame, &pkt)) {

            show_frame(VAR_0, &frame, VAR_1->streams[pkt.stream_index]);

            av_destruct_packet(&pkt);

        }

    }

    av_init_packet(&pkt);

    pkt.data = NULL;

    pkt.size = 0;

    

    for (VAR_2 = 0; VAR_2 < VAR_1->nb_streams; VAR_2++) {

        pkt.stream_index = VAR_2;

        while (get_video_frame(VAR_1, &frame, &pkt))

            show_frame(VAR_0, &frame, VAR_1->streams[pkt.stream_index]);

    }

}

static void FUNC_0(WriterContext *VAR_0, AVFormatContext *VAR_1)
{ AVPacket pkt; AVFrame frame; int VAR_2 = 0; av_init_packet(&pkt); while (!av_read_frame(VAR_1, &pkt)) { if (do_show_packets)
show_packet(VAR_0, VAR_1, &pkt, VAR_2++); if (do_show_frames &&
get_video_frame(VAR_1, &frame, &pkt)) { show_frame(VAR_0, &frame, VAR_1->streams[pkt.stream_index]); av_destruct_packet(&pkt); } } av_init_packet(&pkt); pkt.data = NULL; pkt.size = 0; for (VAR_2 = 0; VAR_2 < VAR_1->nb_streams; VAR_2++) { pkt.stream_index = VAR_2; while (get_video_frame(VAR_1, &frame, &pkt))
show_frame(VAR_0, &frame, VAR_1->streams[pkt.stream_index]); } }