Lines Matching refs:lc

1011     HEVCLocalContext *lc    = s->HEVClc;
1020 if (lc->ctb_left_flag)
1024 if (lc->ctb_up_flag)
1084 HEVCLocalContext *lc = s->HEVClc;
1089 lc->tu.res_scale_val = (1 << (log2_res_scale_abs_plus1 - 1)) *
1092 lc->tu.res_scale_val = 0;
1104 HEVCLocalContext *lc = s->HEVClc;
1108 if (lc->cu.pred_mode == MODE_INTRA) {
1123 if (s->ps.pps->cu_qp_delta_enabled_flag && !lc->tu.is_cu_qp_delta_coded) {
1124 lc->tu.cu_qp_delta = ff_hevc_cu_qp_delta_abs(s);
1125 if (lc->tu.cu_qp_delta != 0)
1127 lc->tu.cu_qp_delta = -lc->tu.cu_qp_delta;
1128 lc->tu.is_cu_qp_delta_coded = 1;
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)) {
1135 lc->tu.cu_qp_delta,
1145 !lc->cu.cu_transquant_bypass_flag && !lc->tu.is_cu_chroma_qp_offset_coded) {
1154 lc->tu.cu_qp_offset_cb = s->ps.pps->cb_qp_offset_list[cu_chroma_qp_offset_idx];
1155 lc->tu.cu_qp_offset_cr = s->ps.pps->cr_qp_offset_list[cu_chroma_qp_offset_idx];
1157 lc->tu.cu_qp_offset_cb = 0;
1158 lc->tu.cu_qp_offset_cr = 0;
1160 lc->tu.is_cu_chroma_qp_offset_coded = 1;
1163 if (lc->cu.pred_mode == MODE_INTRA && log2_trafo_size < 4) {
1164 if (lc->tu.intra_pred_mode >= 6 &&
1165 lc->tu.intra_pred_mode <= 14) {
1167 } else if (lc->tu.intra_pred_mode >= 22 &&
1168 lc->tu.intra_pred_mode <= 30) {
1172 if (lc->tu.intra_pred_mode_c >= 6 &&
1173 lc->tu.intra_pred_mode_c <= 14) {
1175 } else if (lc->tu.intra_pred_mode_c >= 22 &&
1176 lc->tu.intra_pred_mode_c <= 30) {
1181 lc->tu.cross_pf = 0;
1188 lc->tu.cross_pf = (s->ps.pps->cross_component_prediction_enabled_flag && cbf_luma &&
1189 (lc->cu.pred_mode == MODE_INTER ||
1190 (lc->tu.chroma_mode_c == 4)));
1192 if (lc->tu.cross_pf) {
1196 if (lc->cu.pred_mode == MODE_INTRA) {
1204 if (lc->tu.cross_pf) {
1208 int16_t *coeffs_y = (int16_t*)lc->edge_emu_buffer;
1209 int16_t *coeffs = (int16_t*)lc->edge_emu_buffer2;
1215 coeffs[i] = ((lc->tu.res_scale_val * coeffs_y[i]) >> 3);
1221 if (lc->tu.cross_pf) {
1225 if (lc->cu.pred_mode == MODE_INTRA) {
1233 if (lc->tu.cross_pf) {
1237 int16_t *coeffs_y = (int16_t*)lc->edge_emu_buffer;
1238 int16_t *coeffs = (int16_t*)lc->edge_emu_buffer2;
1244 coeffs[i] = ((lc->tu.res_scale_val * coeffs_y[i]) >> 3);
1253 if (lc->cu.pred_mode == MODE_INTRA) {
1263 if (lc->cu.pred_mode == MODE_INTRA) {
1273 } else if (s->ps.sps->chroma_format_idc && lc->cu.pred_mode == MODE_INTRA) {
1326 HEVCLocalContext *lc = s->HEVClc;
1337 if (lc->cu.intra_split_flag) {
1339 lc->tu.intra_pred_mode = lc->pu.intra_pred_mode[blk_idx];
1341 lc->tu.intra_pred_mode_c = lc->pu.intra_pred_mode_c[blk_idx];
1342 lc->tu.chroma_mode_c = lc->pu.chroma_mode_c[blk_idx];
1344 lc->tu.intra_pred_mode_c = lc->pu.intra_pred_mode_c[0];
1345 lc->tu.chroma_mode_c = lc->pu.chroma_mode_c[0];
1349 lc->tu.intra_pred_mode = lc->pu.intra_pred_mode[0];
1350 lc->tu.intra_pred_mode_c = lc->pu.intra_pred_mode_c[0];
1351 lc->tu.chroma_mode_c = lc->pu.chroma_mode_c[0];
1356 trafo_depth < lc->cu.max_trafo_depth &&
1357 !(lc->cu.intra_split_flag && trafo_depth == 0)) {
1361 lc->cu.pred_mode == MODE_INTER &&
1362 lc->cu.part_mode != PART_2Nx2N &&
1366 (lc->cu.intra_split_flag && trafo_depth == 0) ||
1412 if (lc->cu.pred_mode == MODE_INTRA || trafo_depth != 0 ||
1436 lc->cu.cu_transquant_bypass_flag)
1445 HEVCLocalContext *lc = s->HEVClc;
1459 const uint8_t *pcm = skip_bytes(&lc->cc, (length + 7) >> 3);
1504 HEVCLocalContext *lc = s->HEVClc;
1527 s->vdsp.emulated_edge_mc(lc->edge_emu_buffer, src - offset,
1533 src = lc->edge_emu_buffer + buf_offset;
1566 HEVCLocalContext *lc = s->HEVClc;
1593 s->vdsp.emulated_edge_mc(lc->edge_emu_buffer, src0 - offset,
1599 src0 = lc->edge_emu_buffer + buf_offset;
1610 s->vdsp.emulated_edge_mc(lc->edge_emu_buffer2, src1 - offset,
1616 src1 = lc->edge_emu_buffer2 + buf_offset;
1620 s->hevcdsp.put_hevc_qpel[idx][!!my0][!!mx0](lc->tmp, src0, src0stride,
1623 s->hevcdsp.put_hevc_qpel_bi[idx][!!my1][!!mx1](dst, dststride, src1, src1stride, lc->tmp,
1626 s->hevcdsp.put_hevc_qpel_bi_w[idx][!!my1][!!mx1](dst, dststride, src1, src1stride, lc->tmp,
1657 HEVCLocalContext *lc = s->HEVClc;
1684 s->vdsp.emulated_edge_mc(lc->edge_emu_buffer, src0 - offset0,
1691 src0 = lc->edge_emu_buffer + buf_offset0;
1723 HEVCLocalContext *lc = s->HEVClc;
1762 s->vdsp.emulated_edge_mc(lc->edge_emu_buffer, src1 - offset1,
1769 src1 = lc->edge_emu_buffer + buf_offset1;
1781 s->vdsp.emulated_edge_mc(lc->edge_emu_buffer2, src2 - offset1,
1788 src2 = lc->edge_emu_buffer2 + buf_offset1;
1792 s->hevcdsp.put_hevc_epel[idx][!!my0][!!mx0](lc->tmp, src1, src1stride,
1796 src2, src2stride, lc->tmp,
1800 src2, src2stride, lc->tmp,
1824 HEVCLocalContext *lc = s->HEVClc;
1842 mv->mv[0].x += lc->pu.mvd.x;
1843 mv->mv[0].y += lc->pu.mvd.y;
1851 AV_ZERO32(&lc->pu.mvd);
1860 mv->mv[1].x += lc->pu.mvd.x;
1861 mv->mv[1].y += lc->pu.mvd.y;
1872 HEVCLocalContext *lc = s->HEVClc;
1894 lc->pu.merge_flag = ff_hevc_merge_flag_decode(s);
1896 if (skip_flag || lc->pu.merge_flag) {
1994 HEVCLocalContext *lc = s->HEVClc;
2002 int cand_up = (lc->ctb_up_flag || y0b) ?
2004 int cand_left = (lc->ctb_left_flag || x0b) ?
2041 intra_pred_mode = candidate[lc->pu.mpm_idx];
2050 intra_pred_mode = lc->pu.rem_intra_luma_pred_mode;
2091 HEVCLocalContext *lc = s->HEVClc;
2094 int split = lc->cu.part_mode == PART_NxN;
2107 lc->pu.mpm_idx = ff_hevc_mpm_idx_decode(s);
2109 lc->pu.rem_intra_luma_pred_mode = ff_hevc_rem_intra_luma_pred_mode_decode(s);
2111 lc->pu.intra_pred_mode[2 * i + j] =
2120 lc->pu.chroma_mode_c[2 * i + j] = chroma_mode = ff_hevc_intra_chroma_pred_mode_decode(s);
2122 if (lc->pu.intra_pred_mode[2 * i + j] == intra_chroma_table[chroma_mode])
2123 lc->pu.intra_pred_mode_c[2 * i + j] = 34;
2125 lc->pu.intra_pred_mode_c[2 * i + j] = intra_chroma_table[chroma_mode];
2127 lc->pu.intra_pred_mode_c[2 * i + j] = lc->pu.intra_pred_mode[2 * i + j];
2133 lc->pu.chroma_mode_c[0] = chroma_mode = ff_hevc_intra_chroma_pred_mode_decode(s);
2135 if (lc->pu.intra_pred_mode[0] == intra_chroma_table[chroma_mode])
2140 mode_idx = lc->pu.intra_pred_mode[0];
2142 lc->pu.intra_pred_mode_c[0] = tab_mode_idx[mode_idx];
2146 if (lc->pu.intra_pred_mode[0] == intra_chroma_table[chroma_mode])
2147 lc->pu.intra_pred_mode_c[0] = 34;
2149 lc->pu.intra_pred_mode_c[0] = intra_chroma_table[chroma_mode];
2151 lc->pu.intra_pred_mode_c[0] = lc->pu.intra_pred_mode[0];
2160 HEVCLocalContext *lc = s->HEVClc;
2173 if (lc->cu.pred_mode == MODE_INTRA)
2182 HEVCLocalContext *lc = s->HEVClc;
2192 lc->cu.x = x0;
2193 lc->cu.y = y0;
2194 lc->cu.pred_mode = MODE_INTRA;
2195 lc->cu.part_mode = PART_2Nx2N;
2196 lc->cu.intra_split_flag = 0;
2200 lc->pu.intra_pred_mode[x] = 1;
2202 lc->cu.cu_transquant_bypass_flag = ff_hevc_cu_transquant_bypass_flag_decode(s);
2203 if (lc->cu.cu_transquant_bypass_flag)
2206 lc->cu.cu_transquant_bypass_flag = 0;
2216 lc->cu.pred_mode = skip_flag ? MODE_SKIP : MODE_INTER;
2235 lc->cu.pred_mode = ff_hevc_pred_mode_decode(s);
2236 if (lc->cu.pred_mode != MODE_INTRA ||
2238 lc->cu.part_mode = ff_hevc_part_mode_decode(s, log2_cb_size);
2239 lc->cu.intra_split_flag = lc->cu.part_mode == PART_NxN &&
2240 lc->cu.pred_mode == MODE_INTRA;
2243 if (lc->cu.pred_mode == MODE_INTRA) {
2244 if (lc->cu.part_mode == PART_2Nx2N && s->ps.sps->pcm_enabled_flag &&
2262 switch (lc->cu.part_mode) {
2302 if (lc->cu.pred_mode != MODE_INTRA &&
2303 !(lc->cu.part_mode == PART_2Nx2N && lc->pu.merge_flag)) {
2308 lc->cu.max_trafo_depth = lc->cu.pred_mode == MODE_INTRA ?
2309 s->ps.sps->max_transform_hierarchy_depth_intra + lc->cu.intra_split_flag :
2323 if (s->ps.pps->cu_qp_delta_enabled_flag && lc->tu.is_cu_qp_delta_coded == 0)
2328 memset(&s->qp_y_tab[x], lc->qp_y, length);
2334 lc->qPy_pred = lc->qp_y;
2337 set_ct_depth(s, x0, y0, log2_cb_size, lc->ct_depth);
2345 HEVCLocalContext *lc = s->HEVClc;
2350 lc->ct_depth = cb_depth;
2360 lc->tu.is_cu_qp_delta_coded = 0;
2361 lc->tu.cu_qp_delta = 0;
2366 lc->tu.is_cu_chroma_qp_offset_coded = 0;
2400 lc->qPy_pred = lc->qp_y;
2430 HEVCLocalContext *lc = s->HEVClc;
2439 lc->first_qp_group = 1;
2440 lc->end_of_tiles_x = s->ps.sps->width;
2444 lc->end_of_tiles_x = x_ctb + (s->ps.pps->column_width[idxX] << s->ps.sps->log2_ctb_size);
2445 lc->first_qp_group = 1;
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);
2453 lc->boundary_flags = 0;
2456 lc->boundary_flags |= BOUNDARY_LEFT_TILE;
2458 lc->boundary_flags |= BOUNDARY_LEFT_SLICE;
2460 lc->boundary_flags |= BOUNDARY_UPPER_TILE;
2462 lc->boundary_flags |= BOUNDARY_UPPER_SLICE;
2465 lc->boundary_flags |= BOUNDARY_LEFT_SLICE;
2467 lc->boundary_flags |= BOUNDARY_UPPER_SLICE;
2470 lc->ctb_left_flag = ((x_ctb > 0) && (ctb_addr_in_slice > 0) && !(lc->boundary_flags & BOUNDARY_LEFT_TILE));
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]]));
2551 HEVCLocalContext *lc;
2562 lc = s->HEVClc;
2565 ret = init_get_bits8(&lc->gb, s->data + s->sh.offset[ctb_row - 1], s->sh.size[ctb_row - 1]);
2568 ff_init_cabac_decoder(&lc->cc, s->data + s->sh.offset[(ctb_row)-1], s->sh.size[ctb_row - 1]);
2633 HEVCLocalContext *lc = s->HEVClc;
2672 offset = (lc->gb.index >> 3);
3010 HEVCLocalContext *lc = s->HEVClc;
3027 lc->end_of_tiles_x = s->ps.pps->column_width[0] << s->ps.sps->log2_ctb_size;
3103 HEVCLocalContext *lc = s->HEVClc;
3104 GetBitContext *gb = &lc->gb;