static void format_line(void *ptr, int level, const char *fmt, va_list vl,

                        AVBPrint part[3], int *print_prefix, int type[2])

{

    AVClass* avc = ptr ? *(AVClass **) ptr : NULL;

    av_bprint_init(part+0, 0, 1);

    av_bprint_init(part+1, 0, 1);

    av_bprint_init(part+2, 0, 65536);



    if(type) type[0] = type[1] = AV_CLASS_CATEGORY_NA + 16;

    if (*print_prefix && avc) {

        if (avc->parent_log_context_offset) {

            AVClass** parent = *(AVClass ***) (((uint8_t *) ptr) +

                                   avc->parent_log_context_offset);

            if (parent && *parent) {

                av_bprintf(part+0, "[%s @ %p] ",

                         (*parent)->item_name(parent), parent);

                if(type) type[0] = get_category(parent);

            }

        }

        av_bprintf(part+1, "[%s @ %p] ",

                 avc->item_name(ptr), ptr);

        if(type) type[1] = get_category(ptr);

    }



    av_vbprintf(part+2, fmt, vl);



    if(*part[0].str || *part[1].str || *part[2].str) {

        char lastc = part[2].len ? part[2].str[part[2].len - 1] : 0;

        *print_prefix = lastc == '\n' || lastc == '\r';

    }

}

static void format_line(void *ptr, int level, const char *fmt, va_list vl,

                        AVBPrint part[3], int *print_prefix, int type[2])

{

    AVClass* avc = ptr ? *(AVClass **) ptr : NULL;

    av_bprint_init(part+0, 0, 1);

    av_bprint_init(part+1, 0, 1);

    av_bprint_init(part+2, 0, 65536);



    if(type) type[0] = type[1] = AV_CLASS_CATEGORY_NA + 16;

    if (*print_prefix && avc) {

        if (avc->parent_log_context_offset) {

            AVClass** parent = *(AVClass ***) (((uint8_t *) ptr) +

                                   avc->parent_log_context_offset);

            if (parent && *parent) {

                av_bprintf(part+0, "[%s @ %p] ",

                         (*parent)->item_name(parent), parent);

                if(type) type[0] = get_category(parent);

            }

        }

        av_bprintf(part+1, "[%s @ %p] ",

                 avc->item_name(ptr), ptr);

        if(type) type[1] = get_category(ptr);

    }



    av_vbprintf(part+2, fmt, vl);



    if(*part[0].str || *part[1].str || *part[2].str) {

        char lastc = part[2].len ? part[2].str[part[2].len - 1] : 0;

        *print_prefix = lastc == '\n' || lastc == '\r';

    }

}

static void FUNC_0(void *VAR_0, int VAR_1, const char *VAR_2, va_list VAR_3,

                        AVBPrint VAR_4[3], int *VAR_5, int VAR_6[2])

{

    AVClass* avc = VAR_0 ? *(AVClass **) VAR_0 : NULL;

    av_bprint_init(VAR_4+0, 0, 1);

    av_bprint_init(VAR_4+1, 0, 1);

    av_bprint_init(VAR_4+2, 0, 65536);



    if(VAR_6) VAR_6[0] = VAR_6[1] = AV_CLASS_CATEGORY_NA + 16;

    if (*VAR_5 && avc) {

        if (avc->parent_log_context_offset) {

            AVClass** parent = *(AVClass ***) (((uint8_t *) VAR_0) +

                                   avc->parent_log_context_offset);

            if (parent && *parent) {

                av_bprintf(VAR_4+0, "[%s @ %p] ",

                         (*parent)->item_name(parent), parent);

                if(VAR_6) VAR_6[0] = get_category(parent);

            }

        }

        av_bprintf(VAR_4+1, "[%s @ %p] ",

                 avc->item_name(VAR_0), VAR_0);

        if(VAR_6) VAR_6[1] = get_category(VAR_0);

    }



    av_vbprintf(VAR_4+2, VAR_2, VAR_3);



    if(*VAR_4[0].str || *VAR_4[1].str || *VAR_4[2].str) {

        char VAR_7 = VAR_4[2].len ? VAR_4[2].str[VAR_4[2].len - 1] : 0;

        *VAR_5 = VAR_7 == '\n' || VAR_7 == '\r';

    }

}

static void FUNC_0(void *VAR_0, int VAR_1, const char *VAR_2, va_list VAR_3,
AVBPrint VAR_4[3], int *VAR_5, int VAR_6[2])
{ AVClass* avc = VAR_0 ? *(AVClass **) VAR_0 : NULL; av_bprint_init(VAR_4+0, 0, 1); av_bprint_init(VAR_4+1, 0, 1); av_bprint_init(VAR_4+2, 0, 65536); if(VAR_6) VAR_6[0] = VAR_6[1] = AV_CLASS_CATEGORY_NA + 16; if (*VAR_5 && avc) { if (avc->parent_log_context_offset) { AVClass** parent = *(AVClass ***) (((uint8_t *) VAR_0) +
avc->parent_log_context_offset); if (parent && *parent) { av_bprintf(VAR_4+0, "[%s @ %p] ",
(*parent)->item_name(parent), parent); if(VAR_6) VAR_6[0] = get_category(parent); } } av_bprintf(VAR_4+1, "[%s @ %p] ",
avc->item_name(VAR_0), VAR_0); if(VAR_6) VAR_6[1] = get_category(VAR_0); } av_vbprintf(VAR_4+2, VAR_2, VAR_3); if(*VAR_4[0].str || *VAR_4[1].str || *VAR_4[2].str) { char VAR_7 = VAR_4[2].len ? VAR_4[2].str[VAR_4[2].len - 1] : 0; *VAR_5 = VAR_7 == '\n' || VAR_7 == '\r'; } }