Lines Matching defs:sps
95 static int pic_arrays_init(HEVCContext *s, const HEVCSPS *sps)
97 int log2_min_cb_size = sps->log2_min_cb_size;
98 int width = sps->width;
99 int height = sps->height;
102 int ctb_count = sps->ctb_width * sps->ctb_height;
103 int min_pu_size = sps->min_pu_width * sps->min_pu_height;
113 s->skip_flag = av_malloc_array(sps->min_cb_height, sps->min_cb_width);
114 s->tab_ct_depth = av_malloc_array(sps->min_cb_height, sps->min_cb_width);
118 s->cbf_luma = av_malloc_array(sps->min_tb_width, sps->min_tb_height);
120 s->is_pcm = av_malloc_array(sps->min_pu_width + 1, sps->min_pu_height + 1);
167 if (s->ps.sps->chroma_format_idc != 0) {
183 if (s->ps.sps->chroma_format_idc != 0) {
227 if (s->ps.sps->chroma_format_idc != 0) {
269 const HEVCSPS *sps = s->ps.sps;
270 int max_poc_lsb = 1 << sps->log2_max_poc_lsb;
276 if (!sps->long_term_ref_pics_present_flag)
279 if (sps->num_long_term_ref_pics_sps > 0)
283 if (nb_sps > sps->num_long_term_ref_pics_sps)
295 if (sps->num_long_term_ref_pics_sps > 1)
296 lt_idx_sps = get_bits(gb, av_ceil_log2(sps->num_long_term_ref_pics_sps));
298 rps->poc[i] = sps->lt_ref_pic_poc_lsb_sps[lt_idx_sps];
299 rps->used[i] = sps->used_by_curr_pic_lt_sps_flag[lt_idx_sps];
301 rps->poc[i] = get_bits(gb, sps->log2_max_poc_lsb);
324 static void export_stream_params(HEVCContext *s, const HEVCSPS *sps)
328 const HEVCVPS *vps = (const HEVCVPS*)ps->vps_list[sps->vps_id]->data;
329 const HEVCWindow *ow = &sps->output_window;
332 avctx->pix_fmt = sps->pix_fmt;
333 avctx->coded_width = sps->width;
334 avctx->coded_height = sps->height;
335 avctx->width = sps->width - ow->left_offset - ow->right_offset;
336 avctx->height = sps->height - ow->top_offset - ow->bottom_offset;
337 avctx->has_b_frames = sps->temporal_layer[sps->max_sub_layers - 1].num_reorder_pics;
338 avctx->profile = sps->ptl.general_ptl.profile_idc;
339 avctx->level = sps->ptl.general_ptl.level_idc;
341 ff_set_sar(avctx, sps->vui.sar);
343 if (sps->vui.video_signal_type_present_flag)
344 avctx->color_range = sps->vui.video_full_range_flag ? AVCOL_RANGE_JPEG
349 if (sps->vui.colour_description_present_flag) {
350 avctx->color_primaries = sps->vui.colour_primaries;
351 avctx->color_trc = sps->vui.transfer_characteristic;
352 avctx->colorspace = sps->vui.matrix_coeffs;
360 if (sps->chroma_format_idc == 1) {
361 if (sps->vui.chroma_loc_info_present_flag) {
362 if (sps->vui.chroma_sample_loc_type_top_field <= 5)
363 avctx->chroma_sample_location = sps->vui.chroma_sample_loc_type_top_field + 1;
371 } else if (sps->vui.vui_timing_info_present_flag) {
372 num = sps->vui.vui_num_units_in_tick;
373 den = sps->vui.vui_time_scale;
400 static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps)
410 switch (sps->pix_fmt) {
489 *fmt++ = sps->pix_fmt;
495 static int set_sps(HEVCContext *s, const HEVCSPS *sps,
501 s->ps.sps = NULL;
504 if (!sps)
507 ret = pic_arrays_init(s, sps);
511 export_stream_params(s, sps);
515 ff_hevc_pred_init(&s->hpc, sps->bit_depth);
516 ff_hevc_dsp_init (&s->hevcdsp, sps->bit_depth);
517 ff_videodsp_init (&s->vdsp, sps->bit_depth);
524 if (sps->sao_enabled && !s->avctx->hwaccel) {
525 int c_count = (sps->chroma_format_idc != 0) ? 3 : 1;
529 int w = sps->width >> sps->hshift[c_idx];
530 int h = sps->height >> sps->vshift[c_idx];
532 av_malloc((w * 2 * sps->ctb_height) <<
533 sps->pixel_shift);
535 av_malloc((h * 2 * sps->ctb_width) <<
536 sps->pixel_shift);
543 s->ps.sps = sps;
544 s->ps.vps = (HEVCVPS*) s->ps.vps_list[s->ps.sps->vps_id]->data;
554 s->ps.sps = NULL;
595 if (s->ps.sps != (HEVCSPS*)s->ps.sps_list[s->ps.pps->sps_id]->data) {
596 const HEVCSPS *sps = (HEVCSPS*)s->ps.sps_list[s->ps.pps->sps_id]->data;
597 const HEVCSPS *last_sps = s->ps.sps;
601 if (sps->width != last_sps->width || sps->height != last_sps->height ||
602 sps->temporal_layer[sps->max_sub_layers - 1].max_dec_pic_buffering !=
608 ret = set_sps(s, sps, sps->pix_fmt);
612 pix_fmt = get_format(s, sps);
636 slice_address_length = av_ceil_log2(s->ps.sps->ctb_width *
637 s->ps.sps->ctb_height);
639 if (sh->slice_segment_addr >= s->ps.sps->ctb_width * s->ps.sps->ctb_height) {
680 if (s->ps.sps->separate_colour_plane_flag)
686 sh->pic_order_cnt_lsb = get_bits(gb, s->ps.sps->log2_max_poc_lsb);
687 poc = ff_hevc_compute_poc(s->ps.sps, s->pocTid0, sh->pic_order_cnt_lsb, s->nal_unit_type);
700 ret = ff_hevc_decode_short_term_rps(gb, s->avctx, &sh->slice_rps, s->ps.sps, 1);
708 if (!s->ps.sps->nb_st_rps) {
713 numbits = av_ceil_log2(s->ps.sps->nb_st_rps);
715 sh->short_term_rps = &s->ps.sps->st_rps[rps_idx];
728 if (s->ps.sps->sps_temporal_mvp_enabled_flag)
748 if (s->ps.sps->sao_enabled) {
750 if (s->ps.sps->chroma_format_idc) {
961 sh->slice_qp < -s->ps.sps->qp_bd_offset) {
966 -s->ps.sps->qp_bd_offset);
995 #define CTB(tab, x, y) ((tab)[(y) * s->ps.sps->ctb_width + (x)])
1029 for (c_idx = 0; c_idx < (s->ps.sps->chroma_format_idc ? 3 : 1); c_idx++) {
1105 const int log2_trafo_size_c = log2_trafo_size - s->ps.sps->hshift[1];
1116 (s->ps.sps->chroma_format_idc == 2 && (cbf_cb[1] || cbf_cr[1]))) {
1120 (s->ps.sps->chroma_format_idc == 2 &&
1130 if (lc->tu.cu_qp_delta < -(26 + s->ps.sps->qp_bd_offset / 2) ||
1131 lc->tu.cu_qp_delta > (25 + s->ps.sps->qp_bd_offset / 2)) {
1136 -(26 + s->ps.sps->qp_bd_offset / 2),
1137 (25 + s->ps.sps->qp_bd_offset / 2));
1185 if (s->ps.sps->chroma_format_idc && (log2_trafo_size > 2 || s->ps.sps->chroma_format_idc == 3)) {
1186 int trafo_size_h = 1 << (log2_trafo_size_c + s->ps.sps->hshift[1]);
1187 int trafo_size_v = 1 << (log2_trafo_size_c + s->ps.sps->vshift[1]);
1195 for (i = 0; i < (s->ps.sps->chroma_format_idc == 2 ? 2 : 1); i++) {
1206 int hshift = s->ps.sps->hshift[1];
1207 int vshift = s->ps.sps->vshift[1];
1213 ((x0 >> hshift) << s->ps.sps->pixel_shift)];
1224 for (i = 0; i < (s->ps.sps->chroma_format_idc == 2 ? 2 : 1); i++) {
1235 int hshift = s->ps.sps->hshift[2];
1236 int vshift = s->ps.sps->vshift[2];
1242 ((x0 >> hshift) << s->ps.sps->pixel_shift)];
1249 } else if (s->ps.sps->chroma_format_idc && blk_idx == 3) {
1251 int trafo_size_v = 1 << (log2_trafo_size + s->ps.sps->vshift[1]);
1252 for (i = 0; i < (s->ps.sps->chroma_format_idc == 2 ? 2 : 1); i++) {
1262 for (i = 0; i < (s->ps.sps->chroma_format_idc == 2 ? 2 : 1); i++) {
1273 } else if (s->ps.sps->chroma_format_idc && lc->cu.pred_mode == MODE_INTRA) {
1274 if (log2_trafo_size > 2 || s->ps.sps->chroma_format_idc == 3) {
1275 int trafo_size_h = 1 << (log2_trafo_size_c + s->ps.sps->hshift[1]);
1276 int trafo_size_v = 1 << (log2_trafo_size_c + s->ps.sps->vshift[1]);
1280 if (s->ps.sps->chroma_format_idc == 2) {
1288 int trafo_size_v = 1 << (log2_trafo_size + s->ps.sps->vshift[1]);
1293 if (s->ps.sps->chroma_format_idc == 2) {
1308 int log2_min_pu_size = s->ps.sps->log2_min_pu_size;
1310 int min_pu_width = s->ps.sps->min_pu_width;
1311 int x_end = FFMIN(x0 + cb_size, s->ps.sps->width);
1312 int y_end = FFMIN(y0 + cb_size, s->ps.sps->height);
1340 if (s->ps.sps->chroma_format_idc == 3) {
1354 if (log2_trafo_size <= s->ps.sps->log2_max_trafo_size &&
1355 log2_trafo_size > s->ps.sps->log2_min_tb_size &&
1360 int inter_split = s->ps.sps->max_transform_hierarchy_depth_inter == 0 &&
1365 split_transform_flag = log2_trafo_size > s->ps.sps->log2_max_trafo_size ||
1370 if (s->ps.sps->chroma_format_idc && (log2_trafo_size > 2 || s->ps.sps->chroma_format_idc == 3)) {
1373 if (s->ps.sps->chroma_format_idc == 2 && (!split_transform_flag || log2_trafo_size == 3)) {
1380 if (s->ps.sps->chroma_format_idc == 2 && (!split_transform_flag || log2_trafo_size == 3)) {
1407 int min_tu_size = 1 << s->ps.sps->log2_min_tb_size;
1408 int log2_min_tu_size = s->ps.sps->log2_min_tb_size;
1409 int min_tu_width = s->ps.sps->min_tb_width;
1414 (s->ps.sps->chroma_format_idc == 2 && (cbf_cb[1] || cbf_cr[1]))) {
1451 uint8_t *dst0 = &s->frame->data[0][y0 * stride0 + (x0 << s->ps.sps->pixel_shift)];
1452 uint8_t *dst1 = &s->frame->data[1][(y0 >> s->ps.sps->vshift[1]) * stride1 + ((x0 >> s->ps.sps->hshift[1]) << s->ps.sps->pixel_shift)];
1453 uint8_t *dst2 = &s->frame->data[2][(y0 >> s->ps.sps->vshift[2]) * stride2 + ((x0 >> s->ps.sps->hshift[2]) << s->ps.sps->pixel_shift)];
1455 int length = cb_size * cb_size * s->ps.sps->pcm.bit_depth +
1456 (((cb_size >> s->ps.sps->hshift[1]) * (cb_size >> s->ps.sps->vshift[1])) +
1457 ((cb_size >> s->ps.sps->hshift[2]) * (cb_size >> s->ps.sps->vshift[2]))) *
1458 s->ps.sps->pcm.bit_depth_chroma;
1469 s->hevcdsp.put_pcm(dst0, stride0, cb_size, cb_size, &gb, s->ps.sps->pcm.bit_depth);
1470 if (s->ps.sps->chroma_format_idc) {
1472 cb_size >> s->ps.sps->hshift[1],
1473 cb_size >> s->ps.sps->vshift[1],
1474 &gb, s->ps.sps->pcm.bit_depth_chroma);
1476 cb_size >> s->ps.sps->hshift[2],
1477 cb_size >> s->ps.sps->vshift[2],
1478 &gb, s->ps.sps->pcm.bit_depth_chroma);
1507 int pic_width = s->ps.sps->width;
1508 int pic_height = s->ps.sps->height;
1517 src += y_off * srcstride + (x_off * (1 << s->ps.sps->pixel_shift));
1523 const ptrdiff_t edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->ps.sps->pixel_shift;
1524 int offset = QPEL_EXTRA_BEFORE * srcstride + (QPEL_EXTRA_BEFORE << s->ps.sps->pixel_shift);
1525 int buf_offset = QPEL_EXTRA_BEFORE * edge_emu_stride + (QPEL_EXTRA_BEFORE << s->ps.sps->pixel_shift);
1569 int pic_width = s->ps.sps->width;
1570 int pic_height = s->ps.sps->height;
1583 uint8_t *src0 = ref0->data[0] + y_off0 * src0stride + (int)((unsigned)x_off0 << s->ps.sps->pixel_shift);
1584 uint8_t *src1 = ref1->data[0] + y_off1 * src1stride + (int)((unsigned)x_off1 << s->ps.sps->pixel_shift);
1589 const ptrdiff_t edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->ps.sps->pixel_shift;
1590 int offset = QPEL_EXTRA_BEFORE * src0stride + (QPEL_EXTRA_BEFORE << s->ps.sps->pixel_shift);
1591 int buf_offset = QPEL_EXTRA_BEFORE * edge_emu_stride + (QPEL_EXTRA_BEFORE << s->ps.sps->pixel_shift);
1606 const ptrdiff_t edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->ps.sps->pixel_shift;
1607 int offset = QPEL_EXTRA_BEFORE * src1stride + (QPEL_EXTRA_BEFORE << s->ps.sps->pixel_shift);
1608 int buf_offset = QPEL_EXTRA_BEFORE * edge_emu_stride + (QPEL_EXTRA_BEFORE << s->ps.sps->pixel_shift);
1658 int pic_width = s->ps.sps->width >> s->ps.sps->hshift[1];
1659 int pic_height = s->ps.sps->height >> s->ps.sps->vshift[1];
1664 int hshift = s->ps.sps->hshift[1];
1665 int vshift = s->ps.sps->vshift[1];
1674 src0 += y_off * srcstride + (x_off * (1 << s->ps.sps->pixel_shift));
1680 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->ps.sps->pixel_shift;
1681 int offset0 = EPEL_EXTRA_BEFORE * (srcstride + (1 << s->ps.sps->pixel_shift));
1683 (edge_emu_stride + (1 << s->ps.sps->pixel_shift));
1730 int pic_width = s->ps.sps->width >> s->ps.sps->hshift[1];
1731 int pic_height = s->ps.sps->height >> s->ps.sps->vshift[1];
1734 int hshift = s->ps.sps->hshift[1];
1735 int vshift = s->ps.sps->vshift[1];
1751 src1 += y_off0 * src1stride + (int)((unsigned)x_off0 << s->ps.sps->pixel_shift);
1752 src2 += y_off1 * src2stride + (int)((unsigned)x_off1 << s->ps.sps->pixel_shift);
1757 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->ps.sps->pixel_shift;
1758 int offset1 = EPEL_EXTRA_BEFORE * (src1stride + (1 << s->ps.sps->pixel_shift));
1760 (edge_emu_stride + (1 << s->ps.sps->pixel_shift));
1776 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->ps.sps->pixel_shift;
1777 int offset1 = EPEL_EXTRA_BEFORE * (src2stride + (1 << s->ps.sps->pixel_shift));
1779 (edge_emu_stride + (1 << s->ps.sps->pixel_shift));
1870 &s->frame->data[c_idx][((y) >> s->ps.sps->vshift[c_idx]) * s->frame->linesize[c_idx] + \
1871 (((x) >> s->ps.sps->hshift[c_idx]) << s->ps.sps->pixel_shift)]
1876 int min_pu_width = s->ps.sps->min_pu_width;
1884 int log2_min_cb_size = s->ps.sps->log2_min_cb_size;
1885 int min_cb_width = s->ps.sps->min_cb_width;
1909 x_pu = x0 >> s->ps.sps->log2_min_pu_size;
1910 y_pu = y0 >> s->ps.sps->log2_min_pu_size;
1912 for (j = 0; j < nPbH >> s->ps.sps->log2_min_pu_size; j++)
1913 for (i = 0; i < nPbW >> s->ps.sps->log2_min_pu_size; i++)
1930 int x0_c = x0 >> s->ps.sps->hshift[1];
1931 int y0_c = y0 >> s->ps.sps->vshift[1];
1932 int nPbW_c = nPbW >> s->ps.sps->hshift[1];
1933 int nPbH_c = nPbH >> s->ps.sps->vshift[1];
1940 if (s->ps.sps->chroma_format_idc) {
1949 int x0_c = x0 >> s->ps.sps->hshift[1];
1950 int y0_c = y0 >> s->ps.sps->vshift[1];
1951 int nPbW_c = nPbW >> s->ps.sps->hshift[1];
1952 int nPbH_c = nPbH >> s->ps.sps->vshift[1];
1959 if (s->ps.sps->chroma_format_idc) {
1969 int x0_c = x0 >> s->ps.sps->hshift[1];
1970 int y0_c = y0 >> s->ps.sps->vshift[1];
1971 int nPbW_c = nPbW >> s->ps.sps->hshift[1];
1972 int nPbH_c = nPbH >> s->ps.sps->vshift[1];
1978 if (s->ps.sps->chroma_format_idc) {
1995 int x_pu = x0 >> s->ps.sps->log2_min_pu_size;
1996 int y_pu = y0 >> s->ps.sps->log2_min_pu_size;
1997 int min_pu_width = s->ps.sps->min_pu_width;
1998 int size_in_pus = pu_size >> s->ps.sps->log2_min_pu_size;
1999 int x0b = av_mod_uintp2(x0, s->ps.sps->log2_ctb_size);
2000 int y0b = av_mod_uintp2(y0, s->ps.sps->log2_ctb_size);
2007 int y_ctb = (y0 >> (s->ps.sps->log2_ctb_size)) << (s->ps.sps->log2_ctb_size);
2074 int length = (1 << log2_cb_size) >> s->ps.sps->log2_min_cb_size;
2075 int x_cb = x0 >> s->ps.sps->log2_min_cb_size;
2076 int y_cb = y0 >> s->ps.sps->log2_min_cb_size;
2080 memset(&s->tab_ct_depth[(y_cb + y) * s->ps.sps->min_cb_width + x_cb],
2117 if (s->ps.sps->chroma_format_idc == 3) {
2131 } else if (s->ps.sps->chroma_format_idc == 2) {
2143 } else if (s->ps.sps->chroma_format_idc != 0) {
2162 int size_in_pus = pb_size >> s->ps.sps->log2_min_pu_size;
2163 int min_pu_width = s->ps.sps->min_pu_width;
2165 int x_pu = x0 >> s->ps.sps->log2_min_pu_size;
2166 int y_pu = y0 >> s->ps.sps->log2_min_pu_size;
2183 int log2_min_cb_size = s->ps.sps->log2_min_cb_size;
2185 int min_cb_width = s->ps.sps->min_cb_width;
2189 int qp_block_mask = (1<<(s->ps.sps->log2_ctb_size - s->ps.pps->diff_cu_qp_delta_depth)) - 1;
2237 log2_cb_size == s->ps.sps->log2_min_cb_size) {
2244 if (lc->cu.part_mode == PART_2Nx2N && s->ps.sps->pcm_enabled_flag &&
2245 log2_cb_size >= s->ps.sps->pcm.log2_min_pcm_cb_size &&
2246 log2_cb_size <= s->ps.sps->pcm.log2_max_pcm_cb_size) {
2252 if (s->ps.sps->pcm.loop_filter_disable_flag)
2309 s->ps.sps->max_transform_hierarchy_depth_intra + lc->cu.intra_split_flag :
2310 s->ps.sps->max_transform_hierarchy_depth_inter;
2351 if (x0 + cb_size <= s->ps.sps->width &&
2352 y0 + cb_size <= s->ps.sps->height &&
2353 log2_cb_size > s->ps.sps->log2_min_cb_size) {
2356 split_cu = (log2_cb_size > s->ps.sps->log2_min_cb_size);
2359 log2_cb_size >= s->ps.sps->log2_ctb_size - s->ps.pps->diff_cu_qp_delta_depth) {
2365 log2_cb_size >= s->ps.sps->log2_ctb_size - s->ps.pps->diff_cu_chroma_qp_offset_depth) {
2370 int qp_block_mask = (1<<(s->ps.sps->log2_ctb_size - s->ps.pps->diff_cu_qp_delta_depth)) - 1;
2381 if (more_data && x1 < s->ps.sps->width) {
2386 if (more_data && y1 < s->ps.sps->height) {
2391 if (more_data && x1 < s->ps.sps->width &&
2392 y1 < s->ps.sps->height) {
2403 return ((x1 + cb_size_split) < s->ps.sps->width ||
2404 (y1 + cb_size_split) < s->ps.sps->height);
2412 (1 << (s->ps.sps->log2_ctb_size))) ||
2413 (x0 + cb_size >= s->ps.sps->width)) &&
2415 (1 << (s->ps.sps->log2_ctb_size))) ||
2416 (y0 + cb_size >= s->ps.sps->height))) {
2431 int ctb_size = 1 << s->ps.sps->log2_ctb_size;
2440 lc->end_of_tiles_x = s->ps.sps->width;
2443 int idxX = s->ps.pps->col_idxX[x_ctb >> s->ps.sps->log2_ctb_size];
2444 lc->end_of_tiles_x = x_ctb + (s->ps.pps->column_width[idxX] << s->ps.sps->log2_ctb_size);
2448 lc->end_of_tiles_x = s->ps.sps->width;
2451 lc->end_of_tiles_y = FFMIN(y_ctb + ctb_size, s->ps.sps->height);
2459 if (y_ctb > 0 && s->ps.pps->tile_id[ctb_addr_ts] != s->ps.pps->tile_id[s->ps.pps->ctb_addr_rs_to_ts[ctb_addr_rs - s->ps.sps->ctb_width]])
2461 if (y_ctb > 0 && s->tab_slice_address[ctb_addr_rs] != s->tab_slice_address[ctb_addr_rs - s->ps.sps->ctb_width])
2466 if (ctb_addr_in_slice < s->ps.sps->ctb_width)
2471 lc->ctb_up_flag = ((y_ctb > 0) && (ctb_addr_in_slice >= s->ps.sps->ctb_width) && !(lc->boundary_flags & BOUNDARY_UPPER_TILE));
2472 lc->ctb_up_right_flag = ((y_ctb > 0) && (ctb_addr_in_slice+1 >= s->ps.sps->ctb_width) && (s->ps.pps->tile_id[ctb_addr_ts] == s->ps.pps->tile_id[s->ps.pps->ctb_addr_rs_to_ts[ctb_addr_rs+1 - s->ps.sps->ctb_width]]));
2473 lc->ctb_up_left_flag = ((x_ctb > 0) && (y_ctb > 0) && (ctb_addr_in_slice-1 >= s->ps.sps->ctb_width) && (s->ps.pps->tile_id[ctb_addr_ts] == s->ps.pps->tile_id[s->ps.pps->ctb_addr_rs_to_ts[ctb_addr_rs-1 - s->ps.sps->ctb_width]]));
2479 int ctb_size = 1 << s->ps.sps->log2_ctb_size;
2499 while (more_data && ctb_addr_ts < s->ps.sps->ctb_size) {
2502 x_ctb = (ctb_addr_rs % ((s->ps.sps->width + ctb_size - 1) >> s->ps.sps->log2_ctb_size)) << s->ps.sps->log2_ctb_size;
2503 y_ctb = (ctb_addr_rs / ((s->ps.sps->width + ctb_size - 1) >> s->ps.sps->log2_ctb_size)) << s->ps.sps->log2_ctb_size;
2512 hls_sao_param(s, x_ctb >> s->ps.sps->log2_ctb_size, y_ctb >> s->ps.sps->log2_ctb_size);
2518 more_data = hls_coding_quadtree(s, x_ctb, y_ctb, s->ps.sps->log2_ctb_size, 0);
2530 if (x_ctb + ctb_size >= s->ps.sps->width &&
2531 y_ctb + ctb_size >= s->ps.sps->height)
2552 int ctb_size = 1<< s1->ps.sps->log2_ctb_size;
2556 int ctb_addr_rs = s1->sh.slice_ctb_addr_rs + ctb_row * ((s1->ps.sps->width + ctb_size - 1) >> s1->ps.sps->log2_ctb_size);
2571 while(more_data && ctb_addr_ts < s->ps.sps->ctb_size) {
2572 int x_ctb = (ctb_addr_rs % s->ps.sps->ctb_width) << s->ps.sps->log2_ctb_size;
2573 int y_ctb = (ctb_addr_rs / s->ps.sps->ctb_width) << s->ps.sps->log2_ctb_size;
2587 hls_sao_param(s, x_ctb >> s->ps.sps->log2_ctb_size, y_ctb >> s->ps.sps->log2_ctb_size);
2588 more_data = hls_coding_quadtree(s, x_ctb, y_ctb, s->ps.sps->log2_ctb_size, 0);
2601 if (!more_data && (x_ctb+ctb_size) < s->ps.sps->width && ctb_row != s->sh.num_entry_point_offsets) {
2607 if ((x_ctb+ctb_size) >= s->ps.sps->width && (y_ctb+ctb_size) >= s->ps.sps->height ) {
2615 if(x_ctb >= s->ps.sps->width) {
2646 if (s->sh.slice_ctb_addr_rs + s->sh.num_entry_point_offsets * s->ps.sps->ctb_width >= s->ps.sps->ctb_width * s->ps.sps->ctb_height) {
2649 s->ps.sps->ctb_width, s->ps.sps->ctb_height
2935 const HEVCSPS *sps = s->ps.sps;
2936 const VUI *vui = &sps->vui;
2937 fgp->codec.h274.bit_depth_luma = sps->bit_depth;
2938 fgp->codec.h274.bit_depth_chroma = sps->bit_depth_chroma;
3011 int pic_size_in_ctb = ((s->ps.sps->width >> s->ps.sps->log2_min_cb_size) + 1) *
3012 ((s->ps.sps->height >> s->ps.sps->log2_min_cb_size) + 1);
3017 memset(s->cbf_luma, 0, s->ps.sps->min_tb_width * s->ps.sps->min_tb_height);
3018 memset(s->is_pcm, 0, (s->ps.sps->min_pu_width + 1) * (s->ps.sps->min_pu_height + 1));
3027 lc->end_of_tiles_x = s->ps.pps->column_width[0] << s->ps.sps->log2_ctb_size;
3261 if (ctb_addr_ts >= (s->ps.sps->ctb_width * s->ps.sps->ctb_height)) {
3470 const HEVCSPS *sps = (const HEVCSPS*)s->ps.sps_list[i]->data;
3471 export_stream_params(s, sps);
3713 if (s->ps.sps != s0->ps.sps)
3714 s->ps.sps = NULL;
3733 if (s->ps.sps != s0->ps.sps)
3734 if ((ret = set_sps(s, s0->ps.sps, src->pix_fmt)) < 0)