void ff_hevc_deblocking_boundary_strengths(HEVCContext *s, int x0, int y0,

                                           int log2_trafo_size)

{

    HEVCLocalContext *lc = &s->HEVClc;

    MvField *tab_mvf     = s->ref->tab_mvf;

    int log2_min_pu_size = s->sps->log2_min_pu_size;

    int log2_min_tu_size = s->sps->log2_min_tb_size;

    int min_pu_width     = s->sps->min_pu_width;

    int min_tu_width     = s->sps->min_tb_width;

    int is_intra = tab_mvf[(y0 >> log2_min_pu_size) * min_pu_width +

                           (x0 >> log2_min_pu_size)].is_intra;

    int i, j, bs;



    if (y0 > 0 && (y0 & 7) == 0) {

        int yp_pu = (y0 - 1) >> log2_min_pu_size;

        int yq_pu =  y0      >> log2_min_pu_size;

        int yp_tu = (y0 - 1) >> log2_min_tu_size;

        int yq_tu =  y0      >> log2_min_tu_size;



        for (i = 0; i < (1 << log2_trafo_size); i += 4) {

            int x_pu = (x0 + i) >> log2_min_pu_size;

            int x_tu = (x0 + i) >> log2_min_tu_size;

            MvField *top  = &tab_mvf[yp_pu * min_pu_width + x_pu];

            MvField *curr = &tab_mvf[yq_pu * min_pu_width + x_pu];

            uint8_t top_cbf_luma  = s->cbf_luma[yp_tu * min_tu_width + x_tu];

            uint8_t curr_cbf_luma = s->cbf_luma[yq_tu * min_tu_width + x_tu];

            RefPicList *top_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                              x0 + i, y0 - 1);



            bs = boundary_strength(s, curr, curr_cbf_luma,

                                   top, top_cbf_luma, top_refPicList, 1);

            if (!s->sh.slice_loop_filter_across_slices_enabled_flag &&

                lc->boundary_flags & BOUNDARY_UPPER_SLICE &&

                (y0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            else if (!s->pps->loop_filter_across_tiles_enabled_flag &&

                     lc->boundary_flags & BOUNDARY_UPPER_TILE &&

                     (y0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            if (bs)

                s->horizontal_bs[((x0 + i) + y0 * s->bs_width) >> 2] = bs;

        }

    }



    // bs for TU internal horizontal PU boundaries

    if (log2_trafo_size > s->sps->log2_min_pu_size && !is_intra)

        for (j = 8; j < (1 << log2_trafo_size); j += 8) {

            int yp_pu = (y0 + j - 1) >> log2_min_pu_size;

            int yq_pu = (y0 + j)     >> log2_min_pu_size;

            int yp_tu = (y0 + j - 1) >> log2_min_tu_size;

            int yq_tu = (y0 + j)     >> log2_min_tu_size;



            for (i = 0; i < (1 << log2_trafo_size); i += 4) {

                int x_pu = (x0 + i) >> log2_min_pu_size;

                int x_tu = (x0 + i) >> log2_min_tu_size;

                MvField *top  = &tab_mvf[yp_pu * min_pu_width + x_pu];

                MvField *curr = &tab_mvf[yq_pu * min_pu_width + x_pu];

                uint8_t top_cbf_luma  = s->cbf_luma[yp_tu * min_tu_width + x_tu];

                uint8_t curr_cbf_luma = s->cbf_luma[yq_tu * min_tu_width + x_tu];

                RefPicList *top_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                                  x0 + i,

                                                                  y0 + j - 1);



                bs = boundary_strength(s, curr, curr_cbf_luma,

                                       top, top_cbf_luma, top_refPicList, 0);

                if (bs)

                    s->horizontal_bs[((x0 + i) + (y0 + j) * s->bs_width) >> 2] = bs;

            }

        }



    // bs for vertical TU boundaries

    if (x0 > 0 && (x0 & 7) == 0) {

        int xp_pu = (x0 - 1) >> log2_min_pu_size;

        int xq_pu =  x0      >> log2_min_pu_size;

        int xp_tu = (x0 - 1) >> log2_min_tu_size;

        int xq_tu =  x0      >> log2_min_tu_size;



        for (i = 0; i < (1 << log2_trafo_size); i += 4) {

            int y_pu      = (y0 + i) >> log2_min_pu_size;

            int y_tu      = (y0 + i) >> log2_min_tu_size;

            MvField *left = &tab_mvf[y_pu * min_pu_width + xp_pu];

            MvField *curr = &tab_mvf[y_pu * min_pu_width + xq_pu];



            uint8_t left_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xp_tu];

            uint8_t curr_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xq_tu];

            RefPicList *left_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                               x0 - 1, y0 + i);



            bs = boundary_strength(s, curr, curr_cbf_luma,

                                   left, left_cbf_luma, left_refPicList, 1);

            if (!s->sh.slice_loop_filter_across_slices_enabled_flag &&

                lc->boundary_flags & BOUNDARY_LEFT_SLICE &&

                (x0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            else if (!s->pps->loop_filter_across_tiles_enabled_flag &&

                     lc->boundary_flags & BOUNDARY_LEFT_TILE &&

                     (x0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            if (bs)

                s->vertical_bs[(x0 >> 3) + ((y0 + i) >> 2) * s->bs_width] = bs;

        }

    }



    // bs for TU internal vertical PU boundaries

    if (log2_trafo_size > log2_min_pu_size && !is_intra)

        for (j = 0; j < (1 << log2_trafo_size); j += 4) {

            int y_pu = (y0 + j) >> log2_min_pu_size;

            int y_tu = (y0 + j) >> log2_min_tu_size;



            for (i = 8; i < (1 << log2_trafo_size); i += 8) {

                int xp_pu = (x0 + i - 1) >> log2_min_pu_size;

                int xq_pu = (x0 + i)     >> log2_min_pu_size;

                int xp_tu = (x0 + i - 1) >> log2_min_tu_size;

                int xq_tu = (x0 + i)     >> log2_min_tu_size;

                MvField *left = &tab_mvf[y_pu * min_pu_width + xp_pu];

                MvField *curr = &tab_mvf[y_pu * min_pu_width + xq_pu];

                uint8_t left_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xp_tu];

                uint8_t curr_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xq_tu];

                RefPicList *left_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                                   x0 + i - 1,

                                                                   y0 + j);



                bs = boundary_strength(s, curr, curr_cbf_luma,

                                       left, left_cbf_luma, left_refPicList, 0);

                if (bs)

                    s->vertical_bs[((x0 + i) >> 3) + ((y0 + j) >> 2) * s->bs_width] = bs;

            }

        }

}

void ff_hevc_deblocking_boundary_strengths(HEVCContext *s, int x0, int y0,

                                           int log2_trafo_size)

{

    HEVCLocalContext *lc = &s->HEVClc;

    MvField *tab_mvf     = s->ref->tab_mvf;

    int log2_min_pu_size = s->sps->log2_min_pu_size;

    int log2_min_tu_size = s->sps->log2_min_tb_size;

    int min_pu_width     = s->sps->min_pu_width;

    int min_tu_width     = s->sps->min_tb_width;

    int is_intra = tab_mvf[(y0 >> log2_min_pu_size) * min_pu_width +

                           (x0 >> log2_min_pu_size)].is_intra;

    int i, j, bs;



    if (y0 > 0 && (y0 & 7) == 0) {

        int yp_pu = (y0 - 1) >> log2_min_pu_size;

        int yq_pu =  y0      >> log2_min_pu_size;

        int yp_tu = (y0 - 1) >> log2_min_tu_size;

        int yq_tu =  y0      >> log2_min_tu_size;



        for (i = 0; i < (1 << log2_trafo_size); i += 4) {

            int x_pu = (x0 + i) >> log2_min_pu_size;

            int x_tu = (x0 + i) >> log2_min_tu_size;

            MvField *top  = &tab_mvf[yp_pu * min_pu_width + x_pu];

            MvField *curr = &tab_mvf[yq_pu * min_pu_width + x_pu];

            uint8_t top_cbf_luma  = s->cbf_luma[yp_tu * min_tu_width + x_tu];

            uint8_t curr_cbf_luma = s->cbf_luma[yq_tu * min_tu_width + x_tu];

            RefPicList *top_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                              x0 + i, y0 - 1);



            bs = boundary_strength(s, curr, curr_cbf_luma,

                                   top, top_cbf_luma, top_refPicList, 1);

            if (!s->sh.slice_loop_filter_across_slices_enabled_flag &&

                lc->boundary_flags & BOUNDARY_UPPER_SLICE &&

                (y0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            else if (!s->pps->loop_filter_across_tiles_enabled_flag &&

                     lc->boundary_flags & BOUNDARY_UPPER_TILE &&

                     (y0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            if (bs)

                s->horizontal_bs[((x0 + i) + y0 * s->bs_width) >> 2] = bs;

        }

    }



    

    if (log2_trafo_size > s->sps->log2_min_pu_size && !is_intra)

        for (j = 8; j < (1 << log2_trafo_size); j += 8) {

            int yp_pu = (y0 + j - 1) >> log2_min_pu_size;

            int yq_pu = (y0 + j)     >> log2_min_pu_size;

            int yp_tu = (y0 + j - 1) >> log2_min_tu_size;

            int yq_tu = (y0 + j)     >> log2_min_tu_size;



            for (i = 0; i < (1 << log2_trafo_size); i += 4) {

                int x_pu = (x0 + i) >> log2_min_pu_size;

                int x_tu = (x0 + i) >> log2_min_tu_size;

                MvField *top  = &tab_mvf[yp_pu * min_pu_width + x_pu];

                MvField *curr = &tab_mvf[yq_pu * min_pu_width + x_pu];

                uint8_t top_cbf_luma  = s->cbf_luma[yp_tu * min_tu_width + x_tu];

                uint8_t curr_cbf_luma = s->cbf_luma[yq_tu * min_tu_width + x_tu];

                RefPicList *top_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                                  x0 + i,

                                                                  y0 + j - 1);



                bs = boundary_strength(s, curr, curr_cbf_luma,

                                       top, top_cbf_luma, top_refPicList, 0);

                if (bs)

                    s->horizontal_bs[((x0 + i) + (y0 + j) * s->bs_width) >> 2] = bs;

            }

        }



    

    if (x0 > 0 && (x0 & 7) == 0) {

        int xp_pu = (x0 - 1) >> log2_min_pu_size;

        int xq_pu =  x0      >> log2_min_pu_size;

        int xp_tu = (x0 - 1) >> log2_min_tu_size;

        int xq_tu =  x0      >> log2_min_tu_size;



        for (i = 0; i < (1 << log2_trafo_size); i += 4) {

            int y_pu      = (y0 + i) >> log2_min_pu_size;

            int y_tu      = (y0 + i) >> log2_min_tu_size;

            MvField *left = &tab_mvf[y_pu * min_pu_width + xp_pu];

            MvField *curr = &tab_mvf[y_pu * min_pu_width + xq_pu];



            uint8_t left_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xp_tu];

            uint8_t curr_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xq_tu];

            RefPicList *left_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                               x0 - 1, y0 + i);



            bs = boundary_strength(s, curr, curr_cbf_luma,

                                   left, left_cbf_luma, left_refPicList, 1);

            if (!s->sh.slice_loop_filter_across_slices_enabled_flag &&

                lc->boundary_flags & BOUNDARY_LEFT_SLICE &&

                (x0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            else if (!s->pps->loop_filter_across_tiles_enabled_flag &&

                     lc->boundary_flags & BOUNDARY_LEFT_TILE &&

                     (x0 % (1 << s->sps->log2_ctb_size)) == 0)

                bs = 0;

            if (bs)

                s->vertical_bs[(x0 >> 3) + ((y0 + i) >> 2) * s->bs_width] = bs;

        }

    }



    

    if (log2_trafo_size > log2_min_pu_size && !is_intra)

        for (j = 0; j < (1 << log2_trafo_size); j += 4) {

            int y_pu = (y0 + j) >> log2_min_pu_size;

            int y_tu = (y0 + j) >> log2_min_tu_size;



            for (i = 8; i < (1 << log2_trafo_size); i += 8) {

                int xp_pu = (x0 + i - 1) >> log2_min_pu_size;

                int xq_pu = (x0 + i)     >> log2_min_pu_size;

                int xp_tu = (x0 + i - 1) >> log2_min_tu_size;

                int xq_tu = (x0 + i)     >> log2_min_tu_size;

                MvField *left = &tab_mvf[y_pu * min_pu_width + xp_pu];

                MvField *curr = &tab_mvf[y_pu * min_pu_width + xq_pu];

                uint8_t left_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xp_tu];

                uint8_t curr_cbf_luma = s->cbf_luma[y_tu * min_tu_width + xq_tu];

                RefPicList *left_refPicList = ff_hevc_get_ref_list(s, s->ref,

                                                                   x0 + i - 1,

                                                                   y0 + j);



                bs = boundary_strength(s, curr, curr_cbf_luma,

                                       left, left_cbf_luma, left_refPicList, 0);

                if (bs)

                    s->vertical_bs[((x0 + i) >> 3) + ((y0 + j) >> 2) * s->bs_width] = bs;

            }

        }

}

void FUNC_0(HEVCContext *VAR_0, int VAR_1, int VAR_2,

                                           int VAR_3)

{

    HEVCLocalContext *lc = &VAR_0->HEVClc;

    MvField *tab_mvf     = VAR_0->ref->tab_mvf;

    int VAR_4 = VAR_0->sps->VAR_4;

    int VAR_5 = VAR_0->sps->log2_min_tb_size;

    int VAR_6     = VAR_0->sps->VAR_6;

    int VAR_7     = VAR_0->sps->min_tb_width;

    int VAR_8 = tab_mvf[(VAR_2 >> VAR_4) * VAR_6 +

                           (VAR_1 >> VAR_4)].VAR_8;

    int VAR_9, VAR_10, VAR_11;



    if (VAR_2 > 0 && (VAR_2 & 7) == 0) {

        int VAR_18 = (VAR_2 - 1) >> VAR_4;

        int VAR_18 =  VAR_2      >> VAR_4;

        int VAR_18 = (VAR_2 - 1) >> VAR_5;

        int VAR_18 =  VAR_2      >> VAR_5;



        for (VAR_9 = 0; VAR_9 < (1 << VAR_3); VAR_9 += 4) {

            int VAR_18 = (VAR_1 + VAR_9) >> VAR_4;

            int VAR_18 = (VAR_1 + VAR_9) >> VAR_5;

            MvField *top  = &tab_mvf[VAR_18 * VAR_6 + VAR_18];

            MvField *curr = &tab_mvf[VAR_18 * VAR_6 + VAR_18];

            uint8_t top_cbf_luma  = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18];

            uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18];

            RefPicList *top_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,

                                                              VAR_1 + VAR_9, VAR_2 - 1);



            VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,

                                   top, top_cbf_luma, top_refPicList, 1);

            if (!VAR_0->sh.slice_loop_filter_across_slices_enabled_flag &&

                lc->boundary_flags & BOUNDARY_UPPER_SLICE &&

                (VAR_2 % (1 << VAR_0->sps->log2_ctb_size)) == 0)

                VAR_11 = 0;

            else if (!VAR_0->pps->loop_filter_across_tiles_enabled_flag &&

                     lc->boundary_flags & BOUNDARY_UPPER_TILE &&

                     (VAR_2 % (1 << VAR_0->sps->log2_ctb_size)) == 0)

                VAR_11 = 0;

            if (VAR_11)

                VAR_0->horizontal_bs[((VAR_1 + VAR_9) + VAR_2 * VAR_0->bs_width) >> 2] = VAR_11;

        }

    }



    

    if (VAR_3 > VAR_0->sps->VAR_4 && !VAR_8)

        for (VAR_10 = 8; VAR_10 < (1 << VAR_3); VAR_10 += 8) {

            int VAR_18 = (VAR_2 + VAR_10 - 1) >> VAR_4;

            int VAR_18 = (VAR_2 + VAR_10)     >> VAR_4;

            int VAR_18 = (VAR_2 + VAR_10 - 1) >> VAR_5;

            int VAR_18 = (VAR_2 + VAR_10)     >> VAR_5;



            for (VAR_9 = 0; VAR_9 < (1 << VAR_3); VAR_9 += 4) {

                int VAR_18 = (VAR_1 + VAR_9) >> VAR_4;

                int VAR_18 = (VAR_1 + VAR_9) >> VAR_5;

                MvField *top  = &tab_mvf[VAR_18 * VAR_6 + VAR_18];

                MvField *curr = &tab_mvf[VAR_18 * VAR_6 + VAR_18];

                uint8_t top_cbf_luma  = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18];

                uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18];

                RefPicList *top_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,

                                                                  VAR_1 + VAR_9,

                                                                  VAR_2 + VAR_10 - 1);



                VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,

                                       top, top_cbf_luma, top_refPicList, 0);

                if (VAR_11)

                    VAR_0->horizontal_bs[((VAR_1 + VAR_9) + (VAR_2 + VAR_10) * VAR_0->bs_width) >> 2] = VAR_11;

            }

        }



    

    if (VAR_1 > 0 && (VAR_1 & 7) == 0) {

        int VAR_24 = (VAR_1 - 1) >> VAR_4;

        int VAR_24 =  VAR_1      >> VAR_4;

        int VAR_24 = (VAR_1 - 1) >> VAR_5;

        int VAR_24 =  VAR_1      >> VAR_5;



        for (VAR_9 = 0; VAR_9 < (1 << VAR_3); VAR_9 += 4) {

            int VAR_24      = (VAR_2 + VAR_9) >> VAR_4;

            int VAR_24      = (VAR_2 + VAR_9) >> VAR_5;

            MvField *left = &tab_mvf[VAR_24 * VAR_6 + VAR_24];

            MvField *curr = &tab_mvf[VAR_24 * VAR_6 + VAR_24];



            uint8_t left_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24];

            uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24];

            RefPicList *left_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,

                                                               VAR_1 - 1, VAR_2 + VAR_9);



            VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,

                                   left, left_cbf_luma, left_refPicList, 1);

            if (!VAR_0->sh.slice_loop_filter_across_slices_enabled_flag &&

                lc->boundary_flags & BOUNDARY_LEFT_SLICE &&

                (VAR_1 % (1 << VAR_0->sps->log2_ctb_size)) == 0)

                VAR_11 = 0;

            else if (!VAR_0->pps->loop_filter_across_tiles_enabled_flag &&

                     lc->boundary_flags & BOUNDARY_LEFT_TILE &&

                     (VAR_1 % (1 << VAR_0->sps->log2_ctb_size)) == 0)

                VAR_11 = 0;

            if (VAR_11)

                VAR_0->vertical_bs[(VAR_1 >> 3) + ((VAR_2 + VAR_9) >> 2) * VAR_0->bs_width] = VAR_11;

        }

    }



    

    if (VAR_3 > VAR_4 && !VAR_8)

        for (VAR_10 = 0; VAR_10 < (1 << VAR_3); VAR_10 += 4) {

            int VAR_24 = (VAR_2 + VAR_10) >> VAR_4;

            int VAR_24 = (VAR_2 + VAR_10) >> VAR_5;



            for (VAR_9 = 8; VAR_9 < (1 << VAR_3); VAR_9 += 8) {

                int VAR_24 = (VAR_1 + VAR_9 - 1) >> VAR_4;

                int VAR_24 = (VAR_1 + VAR_9)     >> VAR_4;

                int VAR_24 = (VAR_1 + VAR_9 - 1) >> VAR_5;

                int VAR_24 = (VAR_1 + VAR_9)     >> VAR_5;

                MvField *left = &tab_mvf[VAR_24 * VAR_6 + VAR_24];

                MvField *curr = &tab_mvf[VAR_24 * VAR_6 + VAR_24];

                uint8_t left_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24];

                uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24];

                RefPicList *left_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,

                                                                   VAR_1 + VAR_9 - 1,

                                                                   VAR_2 + VAR_10);



                VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,

                                       left, left_cbf_luma, left_refPicList, 0);

                if (VAR_11)

                    VAR_0->vertical_bs[((VAR_1 + VAR_9) >> 3) + ((VAR_2 + VAR_10) >> 2) * VAR_0->bs_width] = VAR_11;

            }

        }

}

void FUNC_0(HEVCContext *VAR_0, int VAR_1, int VAR_2,
int VAR_3)
{ HEVCLocalContext *lc = &VAR_0->HEVClc; MvField *tab_mvf     = VAR_0->ref->tab_mvf; int VAR_4 = VAR_0->sps->VAR_4; int VAR_5 = VAR_0->sps->log2_min_tb_size; int VAR_6     = VAR_0->sps->VAR_6; int VAR_7     = VAR_0->sps->min_tb_width; int VAR_8 = tab_mvf[(VAR_2 >> VAR_4) * VAR_6 +
(VAR_1 >> VAR_4)].VAR_8; int VAR_9, VAR_10, VAR_11; if (VAR_2 > 0 && (VAR_2 & 7) == 0) { int VAR_18 = (VAR_2 - 1) >> VAR_4; int VAR_18 =  VAR_2      >> VAR_4; int VAR_18 = (VAR_2 - 1) >> VAR_5; int VAR_18 =  VAR_2      >> VAR_5; for (VAR_9 = 0; VAR_9 < (1 << VAR_3); VAR_9 += 4) { int VAR_18 = (VAR_1 + VAR_9) >> VAR_4; int VAR_18 = (VAR_1 + VAR_9) >> VAR_5; MvField *top  = &tab_mvf[VAR_18 * VAR_6 + VAR_18]; MvField *curr = &tab_mvf[VAR_18 * VAR_6 + VAR_18]; uint8_t top_cbf_luma  = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18]; uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18]; RefPicList *top_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,
VAR_1 + VAR_9, VAR_2 - 1); VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,
top, top_cbf_luma, top_refPicList, 1); if (!VAR_0->sh.slice_loop_filter_across_slices_enabled_flag &&
lc->boundary_flags & BOUNDARY_UPPER_SLICE &&
(VAR_2 % (1 << VAR_0->sps->log2_ctb_size)) == 0)
VAR_11 = 0; else if (!VAR_0->pps->loop_filter_across_tiles_enabled_flag &&
lc->boundary_flags & BOUNDARY_UPPER_TILE &&
(VAR_2 % (1 << VAR_0->sps->log2_ctb_size)) == 0)
VAR_11 = 0; if (VAR_11)
VAR_0->horizontal_bs[((VAR_1 + VAR_9) + VAR_2 * VAR_0->bs_width) >> 2] = VAR_11; } } if (VAR_3 > VAR_0->sps->VAR_4 && !VAR_8)
for (VAR_10 = 8; VAR_10 < (1 << VAR_3); VAR_10 += 8) { int VAR_18 = (VAR_2 + VAR_10 - 1) >> VAR_4; int VAR_18 = (VAR_2 + VAR_10)     >> VAR_4; int VAR_18 = (VAR_2 + VAR_10 - 1) >> VAR_5; int VAR_18 = (VAR_2 + VAR_10)     >> VAR_5; for (VAR_9 = 0; VAR_9 < (1 << VAR_3); VAR_9 += 4) { int VAR_18 = (VAR_1 + VAR_9) >> VAR_4; int VAR_18 = (VAR_1 + VAR_9) >> VAR_5; MvField *top  = &tab_mvf[VAR_18 * VAR_6 + VAR_18]; MvField *curr = &tab_mvf[VAR_18 * VAR_6 + VAR_18]; uint8_t top_cbf_luma  = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18]; uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_18 * VAR_7 + VAR_18]; RefPicList *top_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,
VAR_1 + VAR_9,
VAR_2 + VAR_10 - 1); VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,
top, top_cbf_luma, top_refPicList, 0); if (VAR_11)
VAR_0->horizontal_bs[((VAR_1 + VAR_9) + (VAR_2 + VAR_10) * VAR_0->bs_width) >> 2] = VAR_11; } } if (VAR_1 > 0 && (VAR_1 & 7) == 0) { int VAR_24 = (VAR_1 - 1) >> VAR_4; int VAR_24 =  VAR_1      >> VAR_4; int VAR_24 = (VAR_1 - 1) >> VAR_5; int VAR_24 =  VAR_1      >> VAR_5; for (VAR_9 = 0; VAR_9 < (1 << VAR_3); VAR_9 += 4) { int VAR_24      = (VAR_2 + VAR_9) >> VAR_4; int VAR_24      = (VAR_2 + VAR_9) >> VAR_5; MvField *left = &tab_mvf[VAR_24 * VAR_6 + VAR_24]; MvField *curr = &tab_mvf[VAR_24 * VAR_6 + VAR_24]; uint8_t left_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24]; uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24]; RefPicList *left_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,
VAR_1 - 1, VAR_2 + VAR_9); VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,
left, left_cbf_luma, left_refPicList, 1); if (!VAR_0->sh.slice_loop_filter_across_slices_enabled_flag &&
lc->boundary_flags & BOUNDARY_LEFT_SLICE &&
(VAR_1 % (1 << VAR_0->sps->log2_ctb_size)) == 0)
VAR_11 = 0; else if (!VAR_0->pps->loop_filter_across_tiles_enabled_flag &&
lc->boundary_flags & BOUNDARY_LEFT_TILE &&
(VAR_1 % (1 << VAR_0->sps->log2_ctb_size)) == 0)
VAR_11 = 0; if (VAR_11)
VAR_0->vertical_bs[(VAR_1 >> 3) + ((VAR_2 + VAR_9) >> 2) * VAR_0->bs_width] = VAR_11; } } if (VAR_3 > VAR_4 && !VAR_8)
for (VAR_10 = 0; VAR_10 < (1 << VAR_3); VAR_10 += 4) { int VAR_24 = (VAR_2 + VAR_10) >> VAR_4; int VAR_24 = (VAR_2 + VAR_10) >> VAR_5; for (VAR_9 = 8; VAR_9 < (1 << VAR_3); VAR_9 += 8) { int VAR_24 = (VAR_1 + VAR_9 - 1) >> VAR_4; int VAR_24 = (VAR_1 + VAR_9)     >> VAR_4; int VAR_24 = (VAR_1 + VAR_9 - 1) >> VAR_5; int VAR_24 = (VAR_1 + VAR_9)     >> VAR_5; MvField *left = &tab_mvf[VAR_24 * VAR_6 + VAR_24]; MvField *curr = &tab_mvf[VAR_24 * VAR_6 + VAR_24]; uint8_t left_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24]; uint8_t curr_cbf_luma = VAR_0->cbf_luma[VAR_24 * VAR_7 + VAR_24]; RefPicList *left_refPicList = ff_hevc_get_ref_list(VAR_0, VAR_0->ref,
VAR_1 + VAR_9 - 1,
VAR_2 + VAR_10); VAR_11 = boundary_strength(VAR_0, curr, curr_cbf_luma,
left, left_cbf_luma, left_refPicList, 0); if (VAR_11)
VAR_0->vertical_bs[((VAR_1 + VAR_9) >> 3) + ((VAR_2 + VAR_10) >> 2) * VAR_0->bs_width] = VAR_11; } } }