void avcodec_get_channel_layout_string(char *buf, int buf_size, int nb_channels, int64_t channel_layout)

{

    int i;



    if (channel_layout==0)

        channel_layout = avcodec_guess_channel_layout(nb_channels, CODEC_ID_NONE, NULL);



    for (i=0; channel_layout_map[i].name; i++)

        if (nb_channels    == channel_layout_map[i].nb_channels &&

            channel_layout == channel_layout_map[i].layout) {

            snprintf(buf, buf_size, channel_layout_map[i].name);

            return;

        }



    snprintf(buf, buf_size, "%d channels", nb_channels);

    if (channel_layout) {

        int i,ch;

        av_strlcat(buf, " (", buf_size);

        for(i=0,ch=0; i<64; i++) {

            if ((channel_layout & (1L<<i))) {

                const char *name = get_channel_name(i);

                if (name) {

                    if (ch>0) av_strlcat(buf, "|", buf_size);

                    av_strlcat(buf, name, buf_size);

                }

                ch++;

            }

        }

        av_strlcat(buf, ")", buf_size);

    }

}

void avcodec_get_channel_layout_string(char *buf, int buf_size, int nb_channels, int64_t channel_layout)

{

    int i;



    if (channel_layout==0)

        channel_layout = avcodec_guess_channel_layout(nb_channels, CODEC_ID_NONE, NULL);



    for (i=0; channel_layout_map[i].name; i++)

        if (nb_channels    == channel_layout_map[i].nb_channels &&

            channel_layout == channel_layout_map[i].layout) {

            snprintf(buf, buf_size, channel_layout_map[i].name);

            return;

        }



    snprintf(buf, buf_size, "%d channels", nb_channels);

    if (channel_layout) {

        int i,ch;

        av_strlcat(buf, " (", buf_size);

        for(i=0,ch=0; i<64; i++) {

            if ((channel_layout & (1L<<i))) {

                const char *name = get_channel_name(i);

                if (name) {

                    if (ch>0) av_strlcat(buf, "|", buf_size);

                    av_strlcat(buf, name, buf_size);

                }

                ch++;

            }

        }

        av_strlcat(buf, ")", buf_size);

    }

}

void FUNC_0(char *VAR_0, int VAR_1, int VAR_2, int64_t VAR_3)

{

    int VAR_5;



    if (VAR_3==0)

        VAR_3 = avcodec_guess_channel_layout(VAR_2, CODEC_ID_NONE, NULL);



    for (VAR_5=0; channel_layout_map[VAR_5].VAR_6; VAR_5++)

        if (VAR_2    == channel_layout_map[VAR_5].VAR_2 &&

            VAR_3 == channel_layout_map[VAR_5].layout) {

            snprintf(VAR_0, VAR_1, channel_layout_map[VAR_5].VAR_6);

            return;

        }



    snprintf(VAR_0, VAR_1, "%d channels", VAR_2);

    if (VAR_3) {

        int VAR_5,VAR_5;

        av_strlcat(VAR_0, " (", VAR_1);

        for(VAR_5=0,VAR_5=0; VAR_5<64; VAR_5++) {

            if ((VAR_3 & (1L<<VAR_5))) {

                const char *VAR_6 = get_channel_name(VAR_5);

                if (VAR_6) {

                    if (VAR_5>0) av_strlcat(VAR_0, "|", VAR_1);

                    av_strlcat(VAR_0, VAR_6, VAR_1);

                }

                VAR_5++;

            }

        }

        av_strlcat(VAR_0, ")", VAR_1);

    }

}

void FUNC_0(char *VAR_0, int VAR_1, int VAR_2, int64_t VAR_3)
{ int VAR_5; if (VAR_3==0)
VAR_3 = avcodec_guess_channel_layout(VAR_2, CODEC_ID_NONE, NULL); for (VAR_5=0; channel_layout_map[VAR_5].VAR_6; VAR_5++) if (VAR_2    == channel_layout_map[VAR_5].VAR_2 &&
VAR_3 == channel_layout_map[VAR_5].layout) { snprintf(VAR_0, VAR_1, channel_layout_map[VAR_5].VAR_6); return; } snprintf(VAR_0, VAR_1, "%d channels", VAR_2); if (VAR_3) { int VAR_5,VAR_5; av_strlcat(VAR_0, " (", VAR_1); for(VAR_5=0,VAR_5=0; VAR_5<64; VAR_5++) { if ((VAR_3 & (1L<<VAR_5))) { const char *VAR_6 = get_channel_name(VAR_5); if (VAR_6) { if (VAR_5>0) av_strlcat(VAR_0, "|", VAR_1); av_strlcat(VAR_0, VAR_6, VAR_1); } VAR_5++; } } av_strlcat(VAR_0, ")", VAR_1); } }