static av_cold int hevc_decode_init(AVCodecContext *avctx)

{

    HEVCContext *s = avctx->priv_data;

    int ret;



    avctx->internal->allocate_progress = 1;



    ret = hevc_init_context(avctx);

    if (ret < 0)

        return ret;



    s->enable_parallel_tiles = 0;

    s->sei.picture_timing.picture_struct = 0;

    s->eos = 1;



    atomic_init(&s->wpp_err, 0);



    if(avctx->active_thread_type & FF_THREAD_SLICE)

        s->threads_number = avctx->thread_count;

    else

        s->threads_number = 1;



    if (avctx->extradata_size > 0 && avctx->extradata) {

        ret = hevc_decode_extradata(s, avctx->extradata, avctx->extradata_size);

        if (ret < 0) {

            hevc_decode_free(avctx);

            return ret;

        }

    }



    if((avctx->active_thread_type & FF_THREAD_FRAME) && avctx->thread_count > 1)

            s->threads_type = FF_THREAD_FRAME;

        else

            s->threads_type = FF_THREAD_SLICE;



    return 0;

}

static av_cold int hevc_decode_init(AVCodecContext *avctx)

{

    HEVCContext *s = avctx->priv_data;

    int ret;



    avctx->internal->allocate_progress = 1;



    ret = hevc_init_context(avctx);

    if (ret < 0)

        return ret;



    s->enable_parallel_tiles = 0;

    s->sei.picture_timing.picture_struct = 0;

    s->eos = 1;



    atomic_init(&s->wpp_err, 0);



    if(avctx->active_thread_type & FF_THREAD_SLICE)

        s->threads_number = avctx->thread_count;

    else

        s->threads_number = 1;



    if (avctx->extradata_size > 0 && avctx->extradata) {

        ret = hevc_decode_extradata(s, avctx->extradata, avctx->extradata_size);

        if (ret < 0) {

            hevc_decode_free(avctx);

            return ret;

        }

    }



    if((avctx->active_thread_type & FF_THREAD_FRAME) && avctx->thread_count > 1)

            s->threads_type = FF_THREAD_FRAME;

        else

            s->threads_type = FF_THREAD_SLICE;



    return 0;

}

        ret = hevc_decode_extradata(s, avctx->extradata, avctx->extradata_size);
static av_cold int FUNC_0(AVCodecContext *avctx)

{

    HEVCContext *s = avctx->priv_data;

    int VAR_0;



    avctx->internal->allocate_progress = 1;



    VAR_0 = hevc_init_context(avctx);

    if (VAR_0 < 0)

        return VAR_0;



    s->enable_parallel_tiles = 0;

    s->sei.picture_timing.picture_struct = 0;

    s->eos = 1;



    atomic_init(&s->wpp_err, 0);



    if(avctx->active_thread_type & FF_THREAD_SLICE)

        s->threads_number = avctx->thread_count;

    else

        s->threads_number = 1;



    if (avctx->extradata_size > 0 && avctx->extradata) {

        VAR_0 = hevc_decode_extradata(s, avctx->extradata, avctx->extradata_size);

        if (VAR_0 < 0) {

            hevc_decode_free(avctx);

            return VAR_0;

        }

    }



    if((avctx->active_thread_type & FF_THREAD_FRAME) && avctx->thread_count > 1)

            s->threads_type = FF_THREAD_FRAME;

        else

            s->threads_type = FF_THREAD_SLICE;



    return 0;

}

static av_cold int FUNC_0(AVCodecContext *avctx)
{ HEVCContext *s = avctx->priv_data; int VAR_0; avctx->internal->allocate_progress = 1; VAR_0 = hevc_init_context(avctx); if (VAR_0 < 0)
return VAR_0; s->enable_parallel_tiles = 0; s->sei.picture_timing.picture_struct = 0; s->eos = 1; atomic_init(&s->wpp_err, 0); if(avctx->active_thread_type & FF_THREAD_SLICE)
s->threads_number = avctx->thread_count; else
s->threads_number = 1; if (avctx->extradata_size > 0 && avctx->extradata) { VAR_0 = hevc_decode_extradata(s, avctx->extradata, avctx->extradata_size); if (VAR_0 < 0) { hevc_decode_free(avctx); return VAR_0; } } if((avctx->active_thread_type & FF_THREAD_FRAME) && avctx->thread_count > 1)
s->threads_type = FF_THREAD_FRAME; else
s->threads_type = FF_THREAD_SLICE; return 0; }