Home | History | Annotate | Download | only in common

Lines Matching refs:MV

25     const MV *src_mv, const struct scale_factors *sf, int w, int h, int ref,
29 const MV mv_q4 = { is_q4 ? src_mv->row : src_mv->row * 2,
31 MV32 mv = vp9_scale_mv(&mv_q4, x, y, sf);
32 const int subpel_x = mv.col & SUBPEL_MASK;
33 const int subpel_y = mv.row & SUBPEL_MASK;
35 src += (mv.row >> SUBPEL_BITS) * src_stride + (mv.col >> SUBPEL_BITS);
44 int dst_stride, const MV *src_mv,
49 const MV mv_q4 = { is_q4 ? src_mv->row : src_mv->row * 2,
51 MV32 mv = vp9_scale_mv(&mv_q4, x, y, sf);
52 const int subpel_x = mv.col & SUBPEL_MASK;
53 const int subpel_y = mv.row & SUBPEL_MASK;
55 src += (mv.row >> SUBPEL_BITS) * src_stride + (mv.col >> SUBPEL_BITS);
65 static MV mi_mv_pred_q4(const MODE_INFO *mi, int idx) {
66 MV res = {
81 static MV mi_mv_pred_q2(const MODE_INFO *mi, int idx, int block0, int block1) {
82 MV res = { round_mv_comp_q2(mi->bmi[block0].as_mv[idx].as_mv.row +
89 // TODO(jkoleszar): yet another mv clamping function :-(
90 MV clamp_mv_to_umv_border_sb(const MACROBLOCKD *xd, const MV *src_mv, int bw,
92 // If the MV points so far into the UMV border that no visible pixels
93 // are used for reconstruction, the subpel part of the MV can be
94 // discarded and the MV limited to 16 pixels with equivalent results.
99 MV clamped_mv = { src_mv->row * (1 << (1 - ss_y)),
112 MV average_split_mvs(const struct macroblockd_plane *pd, const MODE_INFO *mi,
115 MV res = { 0, 0 };
140 const MV mv = mi->sb_type < BLOCK_8X8
142 : mi->mv[ref].as_mv;
145 // scaling case. It needs to be done on the scaled MV, not the pre-scaling
146 // MV. Note however that it performs the subsampling aware scaling so
149 const MV mv_q4 = clamp_mv_to_umv_border_sb(
150 xd, &mv, bw, bh, pd->subsampling_x, pd->subsampling_y);
164 assert(mv_q4.row == mv.row * (1 << (1 - pd->subsampling_y)) &&
165 mv_q4.col == mv.col * (1 << (1 - pd->subsampling_x)));