• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavcodec/

Lines Matching refs:sps

82 static int pic_arrays_init(HEVCContext *s, const HEVCSPS *sps)
84 int log2_min_cb_size = sps->log2_min_cb_size;
85 int width = sps->width;
86 int height = sps->height;
89 int ctb_count = sps->ctb_width * sps->ctb_height;
90 int min_pu_size = sps->min_pu_width * sps->min_pu_height;
101 s->tab_ct_depth = av_malloc_array(sps->min_cb_height, sps->min_cb_width);
105 s->cbf_luma = av_malloc_array(sps->min_tb_width, sps->min_tb_height);
148 if (s->sps->chroma_format_idc != 0) {
160 if (s->sps->chroma_format_idc != 0) {
196 if (s->sps->chroma_format_idc != 0) {
229 const HEVCSPS *sps = s->sps;
230 int max_poc_lsb = 1 << sps->log2_max_poc_lsb;
236 if (!sps->long_term_ref_pics_present_flag)
239 if (sps->num_long_term_ref_pics_sps > 0)
254 if (sps->num_long_term_ref_pics_sps > 1)
255 lt_idx_sps = get_bits(gb, av_ceil_log2(sps->num_long_term_ref_pics_sps));
257 rps->poc[i] = sps->lt_ref_pic_poc_lsb_sps[lt_idx_sps];
258 rps->used[i] = sps->used_by_curr_pic_lt_sps_flag[lt_idx_sps];
260 rps->poc[i] = get_bits(gb, sps->log2_max_poc_lsb);
279 static int set_sps(HEVCContext *s, const HEVCSPS *sps)
285 ret = pic_arrays_init(s, sps);
289 s->avctx->coded_width = sps->width;
290 s->avctx->coded_height = sps->height;
291 s->avctx->width = sps->output_width;
292 s->avctx->height = sps->output_height;
293 s->avctx->pix_fmt = sps->pix_fmt;
294 s->avctx->has_b_frames = sps->temporal_layer[sps->max_sub_layers - 1].num_reorder_pics;
296 ff_set_sar(s->avctx, sps->vui.sar);
298 if (sps->vui.video_signal_type_present_flag)
299 s->avctx->color_range = sps->vui.video_full_range_flag ? AVCOL_RANGE_JPEG
304 if (sps->vui.colour_description_present_flag) {
305 s->avctx->color_primaries = sps->vui.colour_primaries;
306 s->avctx->color_trc = sps->vui.transfer_characteristic;
307 s->avctx->colorspace = sps->vui.matrix_coeffs;
314 ff_hevc_pred_init(&s->hpc, sps->bit_depth);
315 ff_hevc_dsp_init (&s->hevcdsp, sps->bit_depth);
316 ff_videodsp_init (&s->vdsp, sps->bit_depth);
318 if (sps->sao_enabled) {
326 s->sps = sps;
327 s->vps = (HEVCVPS*) s->vps_list[s->sps->vps_id]->data;
332 } else if (sps->vui.vui_timing_info_present_flag) {
333 num = sps->vui.vui_num_units_in_tick;
334 den = sps->vui.vui_time_scale;
345 s->sps = NULL;
392 if (s->sps != (HEVCSPS*)s->sps_list[s->pps->sps_id]->data) {
393 const HEVCSPS* last_sps = s->sps;
394 s->sps = (HEVCSPS*)s->sps_list[s->pps->sps_id]->data;
397 if (s->sps->width != last_sps->width || s->sps->height != last_sps->height ||
398 s->sps->temporal_layer[s->sps->max_sub_layers - 1].max_dec_pic_buffering != last_sps->temporal_layer[last_sps->max_sub_layers - 1].max_dec_pic_buffering)
404 ret = set_sps(s, s->sps);
412 s->avctx->profile = s->sps->ptl.general_ptl.profile_idc;
413 s->avctx->level = s->sps->ptl.general_ptl.level_idc;
422 slice_address_length = av_ceil_log2(s->sps->ctb_width *
423 s->sps->ctb_height);
425 if (sh->slice_segment_addr >= s->sps->ctb_width * s->sps->ctb_height) {
466 if (s->sps->separate_colour_plane_flag)
472 sh->pic_order_cnt_lsb = get_bits(gb, s->sps->log2_max_poc_lsb);
485 ret = ff_hevc_decode_short_term_rps(s, &sh->slice_rps, s->sps, 1);
493 if (!s->sps->nb_st_rps) {
498 numbits = av_ceil_log2(s->sps->nb_st_rps);
500 sh->short_term_rps = &s->sps->st_rps[rps_idx];
510 if (s->sps->sps_temporal_mvp_enabled_flag)
530 if (s->sps->sao_enabled) {
724 sh->slice_qp < -s->sps->qp_bd_offset) {
729 -s->sps->qp_bd_offset);
752 #define CTB(tab, x, y) ((tab)[(y) * s->sps->ctb_width + (x)])
862 const int log2_trafo_size_c = log2_trafo_size - s->sps->hshift[1];
875 (s->sps->chroma_format_idc == 2 &&
883 (s->sps->chroma_format_idc == 2 &&
894 if (lc->tu.cu_qp_delta < -(26 + s->sps->qp_bd_offset / 2) ||
895 lc->tu.cu_qp_delta > (25 + s->sps->qp_bd_offset / 2)) {
900 -(26 + s->sps->qp_bd_offset / 2),
901 (25 + s->sps->qp_bd_offset / 2));
949 if (log2_trafo_size > 2 || s->sps->chroma_format_idc == 3) {
950 int trafo_size_h = 1 << (log2_trafo_size_c + s->sps->hshift[1]);
951 int trafo_size_v = 1 << (log2_trafo_size_c + s->sps->vshift[1]);
959 for (i = 0; i < (s->sps->chroma_format_idc == 2 ? 2 : 1); i++) {
970 int hshift = s->sps->hshift[1];
971 int vshift = s->sps->vshift[1];
977 ((x0 >> hshift) << s->sps->pixel_shift)];
988 for (i = 0; i < (s->sps->chroma_format_idc == 2 ? 2 : 1); i++) {
999 int hshift = s->sps->hshift[2];
1000 int vshift = s->sps->vshift[2];
1006 ((x0 >> hshift) << s->sps->pixel_shift)];
1015 int trafo_size_v = 1 << (log2_trafo_size + s->sps->vshift[1]);
1016 for (i = 0; i < (s->sps->chroma_format_idc == 2 ? 2 : 1); i++) {
1026 for (i = 0; i < (s->sps->chroma_format_idc == 2 ? 2 : 1); i++) {
1038 if (log2_trafo_size > 2 || s->sps->chroma_format_idc == 3) {
1039 int trafo_size_h = 1 << (log2_trafo_size_c + s->sps->hshift[1]);
1040 int trafo_size_v = 1 << (log2_trafo_size_c + s->sps->vshift[1]);
1044 if (s->sps->chroma_format_idc == 2) {
1052 int trafo_size_v = 1 << (log2_trafo_size + s->sps->vshift[1]);
1057 if (s->sps->chroma_format_idc == 2) {
1072 int log2_min_pu_size = s->sps->log2_min_pu_size;
1074 int min_pu_width = s->sps->min_pu_width;
1075 int x_end = FFMIN(x0 + cb_size, s->sps->width);
1076 int y_end = FFMIN(y0 + cb_size, s->sps->height);
1098 if (s->sps->chroma_format_idc == 2) {
1109 if (s->sps->chroma_format_idc == 2) {
1118 if (s->sps->chroma_format_idc == 3) {
1134 lc->tt.inter_split_flag = s->sps->max_transform_hierarchy_depth_inter == 0 &&
1139 if (log2_trafo_size <= s->sps->log2_max_trafo_size &&
1140 log2_trafo_size > s->sps->log2_min_tb_size &&
1145 split_transform_flag = log2_trafo_size > s->sps->log2_max_trafo_size ||
1150 if (log2_trafo_size > 2 || s->sps->chroma_format_idc == 3) {
1155 if (s->sps->chroma_format_idc == 2 && (!split_transform_flag || log2_trafo_size == 3)) {
1165 if (s->sps->chroma_format_idc == 2 && (!split_transform_flag || log2_trafo_size == 3)) {
1197 int min_tu_size = 1 << s->sps->log2_min_tb_size;
1198 int log2_min_tu_size = s->sps->log2_min_tb_size;
1199 int min_tu_width = s->sps->min_tb_width;
1204 (s->sps->chroma_format_idc == 2 &&
1242 uint8_t *dst0 = &s->frame->data[0][y0 * stride0 + (x0 << s->sps->pixel_shift)];
1244 uint8_t *dst1 = &s->frame->data[1][(y0 >> s->sps->vshift[1]) * stride1 + ((x0 >> s->sps->hshift[1]) << s->sps->pixel_shift)];
1246 uint8_t *dst2 = &s->frame->data[2][(y0 >> s->sps->vshift[2]) * stride2 + ((x0 >> s->sps->hshift[2]) << s->sps->pixel_shift)];
1248 int length = cb_size * cb_size * s->sps->pcm.bit_depth +
1249 (((cb_size >> s->sps->hshift[1]) * (cb_size >> s->sps->vshift[1])) +
1250 ((cb_size >> s->sps->hshift[2]) * (cb_size >> s->sps->vshift[2]))) *
1251 s->sps->pcm.bit_depth_chroma;
1262 s->hevcdsp.put_pcm(dst0, stride0, cb_size, cb_size, &gb, s->sps->pcm.bit_depth);
1264 cb_size >> s->sps->hshift[1],
1265 cb_size >> s->sps->vshift[1],
1266 &gb, s->sps->pcm.bit_depth_chroma);
1268 cb_size >> s->sps->hshift[2],
1269 cb_size >> s->sps->vshift[2],
1270 &gb, s->sps->pcm.bit_depth_chroma);
1297 int pic_width = s->sps->width;
1298 int pic_height = s->sps->height;
1307 src += y_off * srcstride + (x_off << s->sps->pixel_shift);
1312 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->sps->pixel_shift;
1313 int offset = QPEL_EXTRA_BEFORE * srcstride + (QPEL_EXTRA_BEFORE << s->sps->pixel_shift);
1314 int buf_offset = QPEL_EXTRA_BEFORE * edge_emu_stride + (QPEL_EXTRA_BEFORE << s->sps->pixel_shift);
1359 int pic_width = s->sps->width;
1360 int pic_height = s->sps->height;
1373 uint8_t *src0 = ref0->data[0] + y_off0 * src0stride + (int)((unsigned)x_off0 << s->sps->pixel_shift);
1374 uint8_t *src1 = ref1->data[0] + y_off1 * src1stride + (int)((unsigned)x_off1 << s->sps->pixel_shift);
1379 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->sps->pixel_shift;
1380 int offset = QPEL_EXTRA_BEFORE * src0stride + (QPEL_EXTRA_BEFORE << s->sps->pixel_shift);
1381 int buf_offset = QPEL_EXTRA_BEFORE * edge_emu_stride + (QPEL_EXTRA_BEFORE << s->sps->pixel_shift);
1396 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->sps->pixel_shift;
1397 int offset = QPEL_EXTRA_BEFORE * src1stride + (QPEL_EXTRA_BEFORE << s->sps->pixel_shift);
1398 int buf_offset = QPEL_EXTRA_BEFORE * edge_emu_stride + (QPEL_EXTRA_BEFORE << s->sps->pixel_shift);
1448 int pic_width = s->sps->width >> s->sps->hshift[1];
1449 int pic_height = s->sps->height >> s->sps->vshift[1];
1454 int hshift = s->sps->hshift[1];
1455 int vshift = s->sps->vshift[1];
1463 src0 += y_off * srcstride + (x_off << s->sps->pixel_shift);
1468 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->sps->pixel_shift;
1469 int offset0 = EPEL_EXTRA_BEFORE * (srcstride + (1 << s->sps->pixel_shift));
1471 (edge_emu_stride + (1 << s->sps->pixel_shift));
1520 int pic_width = s->sps->width >> s->sps->hshift[1];
1521 int pic_height = s->sps->height >> s->sps->vshift[1];
1524 int hshift = s->sps->hshift[1];
1525 int vshift = s->sps->vshift[1];
1541 src1 += y_off0 * src1stride + (int)((unsigned)x_off0 << s->sps->pixel_shift);
1542 src2 += y_off1 * src2stride + (int)((unsigned)x_off1 << s->sps->pixel_shift);
1547 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->sps->pixel_shift;
1548 int offset1 = EPEL_EXTRA_BEFORE * (src1stride + (1 << s->sps->pixel_shift));
1550 (edge_emu_stride + (1 << s->sps->pixel_shift));
1566 const int edge_emu_stride = EDGE_EMU_BUFFER_STRIDE << s->sps->pixel_shift;
1567 int offset1 = EPEL_EXTRA_BEFORE * (src2stride + (1 << s->sps->pixel_shift));
1569 (edge_emu_stride + (1 << s->sps->pixel_shift));
1614 &s->frame->data[c_idx][((y) >> s->sps->vshift[c_idx]) * s->frame->linesize[c_idx] + \
1615 (((x) >> s->sps->hshift[c_idx]) << s->sps->pixel_shift)]
1620 int min_pu_width = s->sps->min_pu_width;
1628 int log2_min_cb_size = s->sps->log2_min_cb_size;
1629 int min_cb_width = s->sps->min_cb_width;
1648 x_pu = x0 >> s->sps->log2_min_pu_size;
1649 y_pu = y0 >> s->sps->log2_min_pu_size;
1651 for (j = 0; j < nPbH >> s->sps->log2_min_pu_size; j++)
1652 for (i = 0; i < nPbW >> s->sps->log2_min_pu_size; i++)
1664 x_pu = x0 >> s->sps->log2_min_pu_size;
1665 y_pu = y0 >> s->sps->log2_min_pu_size;
1667 for (j = 0; j < nPbH >> s->sps->log2_min_pu_size; j++)
1668 for (i = 0; i < nPbW >> s->sps->log2_min_pu_size; i++)
1714 x_pu = x0 >> s->sps->log2_min_pu_size;
1715 y_pu = y0 >> s->sps->log2_min_pu_size;
1717 for (j = 0; j < nPbH >> s->sps->log2_min_pu_size; j++)
1718 for (i = 0; i < nPbW >> s->sps->log2_min_pu_size; i++)
1737 int x0_c = x0 >> s->sps->hshift[1];
1738 int y0_c = y0 >> s->sps->vshift[1];
1739 int nPbW_c = nPbW >> s->sps->hshift[1];
1740 int nPbH_c = nPbH >> s->sps->vshift[1];
1754 int x0_c = x0 >> s->sps->hshift[1];
1755 int y0_c = y0 >> s->sps->vshift[1];
1756 int nPbW_c = nPbW >> s->sps->hshift[1];
1757 int nPbH_c = nPbH >> s->sps->vshift[1];
1772 int x0_c = x0 >> s->sps->hshift[1];
1773 int y0_c = y0 >> s->sps->vshift[1];
1774 int nPbW_c = nPbW >> s->sps->hshift[1];
1775 int nPbH_c = nPbH >> s->sps->vshift[1];
1796 int x_pu = x0 >> s->sps->log2_min_pu_size;
1797 int y_pu = y0 >> s->sps->log2_min_pu_size;
1798 int min_pu_width = s->sps->min_pu_width;
1799 int size_in_pus = pu_size >> s->sps->log2_min_pu_size;
1800 int x0b = x0 & ((1 << s->sps->log2_ctb_size) - 1);
1801 int y0b = y0 & ((1 << s->sps->log2_ctb_size) - 1);
1808 int y_ctb = (y0 >> (s->sps->log2_ctb_size)) << (s->sps->log2_ctb_size);
1875 int length = (1 << log2_cb_size) >> s->sps->log2_min_cb_size;
1876 int x_cb = x0 >> s->sps->log2_min_cb_size;
1877 int y_cb = y0 >> s->sps->log2_min_cb_size;
1881 memset(&s->tab_ct_depth[(y_cb + y) * s->sps->min_cb_width + x_cb],
1918 if (s->sps->chroma_format_idc == 3) {
1932 } else if (s->sps->chroma_format_idc == 2) {
1944 } else if (s->sps->chroma_format_idc != 0) {
1963 int size_in_pus = pb_size >> s->sps->log2_min_pu_size;
1964 int min_pu_width = s->sps->min_pu_width;
1966 int x_pu = x0 >> s->sps->log2_min_pu_size;
1967 int y_pu = y0 >> s->sps->log2_min_pu_size;
1984 int log2_min_cb_size = s->sps->log2_min_cb_size;
1986 int min_cb_width = s->sps->min_cb_width;
1990 int qp_block_mask = (1<<(s->sps->log2_ctb_size - s->pps->diff_cu_qp_delta_depth)) - 1;
2032 log2_cb_size == s->sps->log2_min_cb_size) {
2039 if (lc->cu.part_mode == PART_2Nx2N && s->sps->pcm_enabled_flag &&
2040 log2_cb_size >= s->sps->pcm.log2_min_pcm_cb_size &&
2041 log2_cb_size <= s->sps->pcm.log2_max_pcm_cb_size) {
2047 if (s->sps->pcm.loop_filter_disable_flag)
2101 s->sps->max_transform_hierarchy_depth_intra + lc->cu.intra_split_flag :
2102 s->sps->max_transform_hierarchy_depth_inter;
2140 int qp_block_mask = (1<<(s->sps->log2_ctb_size - s->pps->diff_cu_qp_delta_depth)) - 1;
2144 if (x0 + cb_size <= s->sps->width &&
2145 y0 + cb_size <= s->sps->height &&
2146 log2_cb_size > s->sps->log2_min_cb_size) {
2149 split_cu_flag = (log2_cb_size > s->sps->log2_min_cb_size);
2152 log2_cb_size >= s->sps->log2_ctb_size - s->pps->diff_cu_qp_delta_depth) {
2158 log2_cb_size >= s->sps->log2_ctb_size - s->pps->diff_cu_chroma_qp_offset_depth) {
2173 if (more_data && x1 < s->sps->width) {
2178 if (more_data && y1 < s->sps->height) {
2183 if (more_data && x1 < s->sps->width &&
2184 y1 < s->sps->height) {
2195 return ((x1 + cb_size_split) < s->sps->width ||
2196 (y1 + cb_size_split) < s->sps->height);
2204 (1 << (s->sps->log2_ctb_size))) ||
2205 (x0 + cb_size >= s->sps->width)) &&
2207 (1 << (s->sps->log2_ctb_size))) ||
2208 (y0 + cb_size >= s->sps->height))) {
2223 int ctb_size = 1 << s->sps->log2_ctb_size;
2235 lc->end_of_tiles_x = s->sps->width;
2238 int idxX = s->pps->col_idxX[x_ctb >> s->sps->log2_ctb_size];
2239 lc->end_of_tiles_x = x_ctb + (s->pps->column_width[idxX] << s->sps->log2_ctb_size);
2243 lc->end_of_tiles_x = s->sps->width;
2246 lc->end_of_tiles_y = FFMIN(y_ctb + ctb_size, s->sps->height);
2254 s->pps->tile_id[ctb_addr_ts] != s->pps->tile_id[s->pps->ctb_addr_rs_to_ts[ctb_addr_rs - s->sps->ctb_width]];
2256 s->tab_slice_address[ctb_addr_rs] != s->tab_slice_address[ctb_addr_rs - s->sps->ctb_width];
2261 slice_up_boundary = ctb_addr_in_slice < s->sps->ctb_width;
2266 lc->ctb_up_flag = ((y_ctb > 0) && (ctb_addr_in_slice >= s->sps->ctb_width) && !tile_up_boundary);
2267 lc->ctb_up_right_flag = ((y_ctb > 0) && (ctb_addr_in_slice+1 >= s->sps->ctb_width) && (s->pps->tile_id[ctb_addr_ts] == s->pps->tile_id[s->pps->ctb_addr_rs_to_ts[ctb_addr_rs+1 - s->sps->ctb_width]]));
2268 lc->ctb_up_left_flag = ((x_ctb > 0) && (y_ctb > 0) && (ctb_addr_in_slice-1 >= s->sps->ctb_width) && (s->pps->tile_id[ctb_addr_ts] == s->pps->tile_id[s->pps->ctb_addr_rs_to_ts[ctb_addr_rs-1 - s->sps->ctb_width]]));
2274 int ctb_size = 1 << s->sps->log2_ctb_size;
2293 while (more_data && ctb_addr_ts < s->sps->ctb_size) {
2296 x_ctb = (ctb_addr_rs % ((s->sps->width + ctb_size - 1) >> s->sps->log2_ctb_size)) << s->sps->log2_ctb_size;
2297 y_ctb = (ctb_addr_rs / ((s->sps->width + ctb_size - 1) >> s->sps->log2_ctb_size)) << s->sps->log2_ctb_size;
2302 hls_sao_param(s, x_ctb >> s->sps->log2_ctb_size, y_ctb >> s->sps->log2_ctb_size);
2308 more_data = hls_coding_quadtree(s, x_ctb, y_ctb, s->sps->log2_ctb_size, 0);
2320 if (x_ctb + ctb_size >= s->sps->width &&
2321 y_ctb + ctb_size >= s->sps->height)
2342 int ctb_size = 1<< s1->sps->log2_ctb_size;
2346 int ctb_addr_rs = s1->sh.slice_ctb_addr_rs + ctb_row * ((s1->sps->width + ctb_size - 1) >> s1->sps->log2_ctb_size);
2362 while(more_data && ctb_addr_ts < s->sps->ctb_size) {
2363 int x_ctb = (ctb_addr_rs % s->sps->ctb_width) << s->sps->log2_ctb_size;
2364 int y_ctb = (ctb_addr_rs / s->sps->ctb_width) << s->sps->log2_ctb_size;
2376 hls_sao_param(s, x_ctb >> s->sps->log2_ctb_size, y_ctb >> s->sps->log2_ctb_size);
2377 more_data = hls_coding_quadtree(s, x_ctb, y_ctb, s->sps->log2_ctb_size, 0);
2390 if (!more_data && (x_ctb+ctb_size) < s->sps->width && ctb_row != s->sh.num_entry_point_offsets) {
2396 if ((x_ctb+ctb_size) >= s->sps->width && (y_ctb+ctb_size) >= s->sps->height ) {
2404 if(x_ctb >= s->sps->width) {
2568 int pic_size_in_ctb = ((s->sps->width >> s->sps->log2_min_cb_size) + 1) *
2569 ((s->sps->height >> s->sps->log2_min_cb_size) + 1);
2575 memset(s->cbf_luma, 0, s->sps->min_tb_width * s->sps->min_tb_height);
2576 memset(s->is_pcm, 0, s->sps->min_pu_width * s->sps->min_pu_height);
2583 lc->end_of_tiles_x = s->pps->column_width[0] << s->sps->log2_ctb_size;
2585 ret = ff_hevc_set_new_ref(s, s->sps->sao_enabled ? &s->sao_frame : &s->frame,
2602 cur_frame = s->sps->sao_enabled ? s->sao_frame : s->frame;
2729 if (ctb_addr_ts >= (s->sps->ctb_width * s->sps->ctb_height)) {
3164 s->sps = NULL;
3265 if (s->sps != s0->sps)
3266 s->sps = NULL;
3301 if (s->sps != s0->sps)
3302 ret = set_sps(s, s0->sps);