partIdx, merge_idx, ¤t_mv);
} else {
enum InterPredIdc inter_pred_idc = PRED_L0;
+ int mvp_flag;
+
ff_hevc_set_neighbour_available(s, x0, y0, nPbW, nPbH);
+ current_mv.pred_flag = 0;
if (s->sh.slice_type == B_SLICE)
inter_pred_idc = ff_hevc_inter_pred_idc_decode(s, nPbW, nPbH);
ref_idx[0] = ff_hevc_ref_idx_lx_decode(s, s->sh.nb_refs[L0]);
current_mv.ref_idx[0] = ref_idx[0];
}
-
- current_mv.pred_flag[0] = 1;
- hls_mvd_coding(s, x0, y0, 0);
+ current_mv.pred_flag = PF_L0;
+ ff_hevc_hls_mvd_coding(s, x0, y0, 0);
- mvp_flag[0] = ff_hevc_mvp_lx_flag_decode(s);
+ mvp_flag = ff_hevc_mvp_lx_flag_decode(s);
ff_hevc_luma_mv_mvp_mode(s, x0, y0, nPbW, nPbH, log2_cb_size,
partIdx, merge_idx, ¤t_mv,
- mvp_flag[0], 0);
+ mvp_flag, 0);
current_mv.mv[0].x += lc->pu.mvd.x;
current_mv.mv[0].y += lc->pu.mvd.y;
}
if (s->sh.mvd_l1_zero_flag == 1 && inter_pred_idc == PRED_BI) {
AV_ZERO32(&lc->pu.mvd);
} else {
- hls_mvd_coding(s, x0, y0, 1);
+ ff_hevc_hls_mvd_coding(s, x0, y0, 1);
}
- current_mv.pred_flag[1] = 1;
+ current_mv.pred_flag += PF_L1;
- mvp_flag[1] = ff_hevc_mvp_lx_flag_decode(s);
+ mvp_flag = ff_hevc_mvp_lx_flag_decode(s);
ff_hevc_luma_mv_mvp_mode(s, x0, y0, nPbW, nPbH, log2_cb_size,
partIdx, merge_idx, ¤t_mv,
- mvp_flag[1], 1);
+ mvp_flag, 1);
current_mv.mv[1].x += lc->pu.mvd.x;
current_mv.mv[1].y += lc->pu.mvd.y;
}