static void decode_hrd(HEVCContext *s, int common_inf_present,

                       int max_sublayers)

{

    GetBitContext *gb = &s->HEVClc->gb;

    int nal_params_present = 0, vcl_params_present = 0;

    int subpic_params_present = 0;

    int i;



    if (common_inf_present) {

        nal_params_present = get_bits1(gb);

        vcl_params_present = get_bits1(gb);



        if (nal_params_present || vcl_params_present) {

            subpic_params_present = get_bits1(gb);



            if (subpic_params_present) {

                skip_bits(gb, 8); // tick_divisor_minus2

                skip_bits(gb, 5); // du_cpb_removal_delay_increment_length_minus1

                skip_bits(gb, 1); // sub_pic_cpb_params_in_pic_timing_sei_flag

                skip_bits(gb, 5); // dpb_output_delay_du_length_minus1

            }



            skip_bits(gb, 4); // bit_rate_scale

            skip_bits(gb, 4); // cpb_size_scale



            if (subpic_params_present)

                skip_bits(gb, 4);  // cpb_size_du_scale



            skip_bits(gb, 5); // initial_cpb_removal_delay_length_minus1

            skip_bits(gb, 5); // au_cpb_removal_delay_length_minus1

            skip_bits(gb, 5); // dpb_output_delay_length_minus1

        }

    }



    for (i = 0; i < max_sublayers; i++) {

        int low_delay = 0;

        unsigned int nb_cpb = 1;

        int fixed_rate = get_bits1(gb);



        if (!fixed_rate)

            fixed_rate = get_bits1(gb);



        if (fixed_rate)

            get_ue_golomb_long(gb);  // elemental_duration_in_tc_minus1

        else

            low_delay = get_bits1(gb);



        if (!low_delay)

            nb_cpb = get_ue_golomb_long(gb) + 1;



        if (nal_params_present)

            decode_sublayer_hrd(s, nb_cpb, subpic_params_present);

        if (vcl_params_present)

            decode_sublayer_hrd(s, nb_cpb, subpic_params_present);

    }

}

static void decode_hrd(HEVCContext *s, int common_inf_present,

                       int max_sublayers)

{

    GetBitContext *gb = &s->HEVClc->gb;

    int nal_params_present = 0, vcl_params_present = 0;

    int subpic_params_present = 0;

    int i;



    if (common_inf_present) {

        nal_params_present = get_bits1(gb);

        vcl_params_present = get_bits1(gb);



        if (nal_params_present || vcl_params_present) {

            subpic_params_present = get_bits1(gb);



            if (subpic_params_present) {

                skip_bits(gb, 8); 

                skip_bits(gb, 5); 

                skip_bits(gb, 1); 

                skip_bits(gb, 5); 

            }



            skip_bits(gb, 4); 

            skip_bits(gb, 4); 



            if (subpic_params_present)

                skip_bits(gb, 4);  



            skip_bits(gb, 5); 

            skip_bits(gb, 5); 

            skip_bits(gb, 5); 

        }

    }



    for (i = 0; i < max_sublayers; i++) {

        int low_delay = 0;

        unsigned int nb_cpb = 1;

        int fixed_rate = get_bits1(gb);



        if (!fixed_rate)

            fixed_rate = get_bits1(gb);



        if (fixed_rate)

            get_ue_golomb_long(gb);  

        else

            low_delay = get_bits1(gb);



        if (!low_delay)

            nb_cpb = get_ue_golomb_long(gb) + 1;



        if (nal_params_present)

            decode_sublayer_hrd(s, nb_cpb, subpic_params_present);

        if (vcl_params_present)

            decode_sublayer_hrd(s, nb_cpb, subpic_params_present);

    }

}

static void FUNC_0(HEVCContext *VAR_0, int VAR_1,

                       int VAR_2)

{

    GetBitContext *gb = &VAR_0->HEVClc->gb;

    int VAR_3 = 0, VAR_4 = 0;

    int VAR_5 = 0;

    int VAR_6;



    if (VAR_1) {

        VAR_3 = get_bits1(gb);

        VAR_4 = get_bits1(gb);



        if (VAR_3 || VAR_4) {

            VAR_5 = get_bits1(gb);



            if (VAR_5) {

                skip_bits(gb, 8); 

                skip_bits(gb, 5); 

                skip_bits(gb, 1); 

                skip_bits(gb, 5); 

            }



            skip_bits(gb, 4); 

            skip_bits(gb, 4); 



            if (VAR_5)

                skip_bits(gb, 4);  



            skip_bits(gb, 5); 

            skip_bits(gb, 5); 

            skip_bits(gb, 5); 

        }

    }



    for (VAR_6 = 0; VAR_6 < VAR_2; VAR_6++) {

        int VAR_7 = 0;

        unsigned int VAR_8 = 1;

        int VAR_9 = get_bits1(gb);



        if (!VAR_9)

            VAR_9 = get_bits1(gb);



        if (VAR_9)

            get_ue_golomb_long(gb);  

        else

            VAR_7 = get_bits1(gb);



        if (!VAR_7)

            VAR_8 = get_ue_golomb_long(gb) + 1;



        if (VAR_3)

            decode_sublayer_hrd(VAR_0, VAR_8, VAR_5);

        if (VAR_4)

            decode_sublayer_hrd(VAR_0, VAR_8, VAR_5);

    }

}

static void FUNC_0(HEVCContext *VAR_0, int VAR_1,
int VAR_2)
{ GetBitContext *gb = &VAR_0->HEVClc->gb; int VAR_3 = 0, VAR_4 = 0; int VAR_5 = 0; int VAR_6; if (VAR_1) { VAR_3 = get_bits1(gb); VAR_4 = get_bits1(gb); if (VAR_3 || VAR_4) { VAR_5 = get_bits1(gb); if (VAR_5) { skip_bits(gb, 8); skip_bits(gb, 5); skip_bits(gb, 1); skip_bits(gb, 5); } skip_bits(gb, 4); skip_bits(gb, 4); if (VAR_5)
skip_bits(gb, 4); skip_bits(gb, 5); skip_bits(gb, 5); skip_bits(gb, 5); } } for (VAR_6 = 0; VAR_6 < VAR_2; VAR_6++) { int VAR_7 = 0; unsigned int VAR_8 = 1; int VAR_9 = get_bits1(gb); if (!VAR_9)
VAR_9 = get_bits1(gb); if (VAR_9)
get_ue_golomb_long(gb); else
VAR_7 = get_bits1(gb); if (!VAR_7)
VAR_8 = get_ue_golomb_long(gb) + 1; if (VAR_3)
decode_sublayer_hrd(VAR_0, VAR_8, VAR_5); if (VAR_4)
decode_sublayer_hrd(VAR_0, VAR_8, VAR_5); } }