static inline int mxf_read_utf16_string(AVIOContext *pb, int size, char** str, int be)

{

    int ret;

    size_t buf_size;



    if (size < 0)

        return AVERROR(EINVAL);



    buf_size = size + size / 2 + 1;

    *str = av_malloc(buf_size);

    if (!*str)

        return AVERROR(ENOMEM);



    if (be)

        ret = avio_get_str16be(pb, size, *str, buf_size);

    else

        ret = avio_get_str16le(pb, size, *str, buf_size);



    if (ret < 0) {

        av_freep(str);

        return ret;

    }



    return ret;

}

static inline int mxf_read_utf16_string(AVIOContext *pb, int size, char** str, int be)

{

    int ret;

    size_t buf_size;



    if (size < 0)

        return AVERROR(EINVAL);



    buf_size = size + size / 2 + 1;

    *str = av_malloc(buf_size);

    if (!*str)

        return AVERROR(ENOMEM);



    if (be)

        ret = avio_get_str16be(pb, size, *str, buf_size);

    else

        ret = avio_get_str16le(pb, size, *str, buf_size);



    if (ret < 0) {

        av_freep(str);

        return ret;

    }



    return ret;

}

    if (size < 0)
static inline int FUNC_0(AVIOContext *VAR_0, int VAR_1, char** VAR_2, int VAR_3)

{

    int VAR_4;

    size_t buf_size;



    if (VAR_1 < 0)

        return AVERROR(EINVAL);



    buf_size = VAR_1 + VAR_1 / 2 + 1;

    *VAR_2 = av_malloc(buf_size);

    if (!*VAR_2)

        return AVERROR(ENOMEM);



    if (VAR_3)

        VAR_4 = avio_get_str16be(VAR_0, VAR_1, *VAR_2, buf_size);

    else

        VAR_4 = avio_get_str16le(VAR_0, VAR_1, *VAR_2, buf_size);



    if (VAR_4 < 0) {

        av_freep(VAR_2);

        return VAR_4;

    }



    return VAR_4;

}

static inline int FUNC_0(AVIOContext *VAR_0, int VAR_1, char** VAR_2, int VAR_3)
{ int VAR_4; size_t buf_size; if (VAR_1 < 0)
return AVERROR(EINVAL); buf_size = VAR_1 + VAR_1 / 2 + 1; *VAR_2 = av_malloc(buf_size); if (!*VAR_2)
return AVERROR(ENOMEM); if (VAR_3)
VAR_4 = avio_get_str16be(VAR_0, VAR_1, *VAR_2, buf_size); else
VAR_4 = avio_get_str16le(VAR_0, VAR_1, *VAR_2, buf_size); if (VAR_4 < 0) { av_freep(VAR_2); return VAR_4; } return VAR_4; }