Lines Matching refs:mv

76 #define RETURN_DIRECT_MV(mv)                    \
78 uint32_t m = AV_RN32A(&mv); \
92 RETURN_DIRECT_MV(b->mv[0][z]);
94 RETURN_DIRECT_MV(b->mv[2][z]);
95 RETURN_DIRECT_MV(b->mv[1][z]);
96 RETURN_DIRECT_MV(b->mv[0][z]);
99 #define RETURN_MV(mv) \
107 clamp_mv(&tmp, &mv, td); \
113 mem_sub8x8 = AV_RN32A(&mv); \
114 } else if (mem_sub8x8 != AV_RN32A(&mv)) { \
115 clamp_mv(&tmp, &mv, td); \
126 uint32_t m = AV_RN32A(&mv); \
128 clamp_mv(pmv, &mv, td); \
133 clamp_mv(pmv, &mv, td); \
140 VP9mvrefPair *mv = &s->s.frames[CUR_FRAME].mv[(row - 1) * s->sb_cols * 8 + col];
141 if (mv->ref[0] == ref)
143 else if (mv->ref[1] == ref)
147 VP9mvrefPair *mv = &s->s.frames[CUR_FRAME].mv[row * s->sb_cols * 8 + col - 1];
148 if (mv->ref[0] == ref)
150 else if (mv->ref[1] == ref)
164 VP9mvrefPair *mv = &s->s.frames[CUR_FRAME].mv[r * s->sb_cols * 8 + c];
166 if (mv->ref[0] == ref)
167 RETURN_MV(mv->mv[0]);
168 else if (mv->ref[1] == ref)
169 RETURN_MV(mv->mv[1]);
175 VP9mvrefPair *mv = &s->s.frames[REF_FRAME_MVPAIR].mv[row * s->sb_cols * 8 + col];
179 if (mv->ref[0] == ref)
180 RETURN_MV(mv->mv[0]);
181 else if (mv->ref[1] == ref)
182 RETURN_MV(mv->mv[1]);
185 #define RETURN_SCALE_MV(mv, scale) \
188 VP56mv mv_temp = { -mv.x, -mv.y }; \
191 RETURN_MV(mv); \
200 VP9mvrefPair *mv = &s->s.frames[CUR_FRAME].mv[r * s->sb_cols * 8 + c];
202 if (mv->ref[0] != ref && mv->ref[0] >= 0)
203 RETURN_SCALE_MV(mv->mv[0],
204 s->s.h.signbias[mv->ref[0]] != s->s.h.signbias[ref]);
205 if (mv->ref[1] != ref && mv->ref[1] >= 0 &&
208 AV_RN32A(&mv->mv[0]) != AV_RN32A(&mv->mv[1])) {
209 RETURN_SCALE_MV(mv->mv[1], s->s.h.signbias[mv->ref[1]] != s->s.h.signbias[ref]);
216 VP9mvrefPair *mv = &s->s.frames[REF_FRAME_MVPAIR].mv[row * s->sb_cols * 8 + col];
219 if (mv->ref[0] != ref && mv->ref[0] >= 0)
220 RETURN_SCALE_MV(mv->mv[0], s->s.h.signbias[mv->ref[0]] != s->s.h.signbias[ref]);
221 if (mv->ref[1] != ref && mv->ref[1] >= 0 &&
224 AV_RN32A(&mv->mv[0]) != AV_RN32A(&mv->mv[1])) {
225 RETURN_SCALE_MV(mv->mv[1], s->s.h.signbias[mv->ref[1]] != s->s.h.signbias[ref]);
291 void ff_vp9_fill_mv(VP9TileData *td, VP56mv *mv, int mode, int sb)
297 AV_ZERO64(mv);
302 find_ref_mvs(td, &mv[0], b->ref[0], 0, mode == NEARMV,
307 abs(mv[0].x) < 64 && abs(mv[0].y) < 64)) {
308 if (mv[0].y & 1) {
309 if (mv[0].y < 0)
310 mv[0].y++;
312 mv[0].y--;
314 if (mv[0].x & 1) {
315 if (mv[0].x < 0)
316 mv[0].x++;
318 mv[0].x--;
327 mv[0].y += read_mv_component(td, 0, hp);
329 mv[0].x += read_mv_component(td, 1, hp);
334 find_ref_mvs(td, &mv[1], b->ref[1], 1, mode == NEARMV,
338 abs(mv[1].x) < 64 && abs(mv[1].y) < 64)) {
339 if (mv[1].y & 1) {
340 if (mv[1].y < 0)
341 mv[1].y++;
343 mv[1].y--;
345 if (mv[1].x & 1) {
346 if (mv[1].x < 0)
347 mv[1].x++;
349 mv[1].x--;
358 mv[1].y += read_mv_component(td, 0, hp);
360 mv[1].x += read_mv_component(td, 1, hp);