Lines Matching defs:dir

108 static av_always_inline int get_luma_mv(VC1Context *v, int dir, int16_t *tx, int16_t *ty)
111 int idx = v->mv_f[dir][s->block_index[0] + v->blocks_off] |
112 (v->mv_f[dir][s->block_index[1] + v->blocks_off] << 1) |
113 (v->mv_f[dir][s->block_index[2] + v->blocks_off] << 2) |
114 (v->mv_f[dir][s->block_index[3] + v->blocks_off] << 3);
121 *tx = median4(s->mv[dir][0][0], s->mv[dir][1][0], s->mv[dir][2][0], s->mv[dir][3][0]);
122 *ty = median4(s->mv[dir][0][1], s->mv[dir][1][1], s->mv[dir][2][1], s->mv[dir][3][1]);
125 *tx = mid_pred(s->mv[dir][idx < 2][0], s->mv[dir][1 + (idx < 4)][0], s->mv[dir][2 + (idx < 8)][0]);
126 *ty = mid_pred(s->mv[dir][idx < 2][1], s->mv[dir][1 + (idx < 4)][1], s->mv[dir][2 + (idx < 8)][1]);
129 *tx = mid_pred(s->mv[dir][idx > 0xd][0], s->mv[dir][1 + (idx > 0xb)][0], s->mv[dir][2 + (idx > 0x7)][0]);
130 *ty = mid_pred(s->mv[dir][idx > 0xd][1], s->mv[dir][1 + (idx > 0xb)][1], s->mv[dir][2 + (idx > 0x7)][1]);
133 *tx = (s->mv[dir][index2[idx] >> 4][0] + s->mv[dir][index2[idx] & 0xf][0]) / 2;
134 *ty = (s->mv[dir][index2[idx] >> 4][1] + s->mv[dir][index2[idx] & 0xf][1]) / 2;
140 static av_always_inline int get_chroma_mv(VC1Context *v, int dir, int16_t *tx, int16_t *ty)
152 *tx = median4(s->mv[dir][0][0], s->mv[dir][1][0], s->mv[dir][2][0], s->mv[dir][3][0]);
153 *ty = median4(s->mv[dir][0][1], s->mv[dir][1][1], s->mv[dir][2][1], s->mv[dir][3][1]);
156 *tx = mid_pred(s->mv[dir][idx > 0xd][0], s->mv[dir][1 + (idx > 0xb)][0], s->mv[dir][2 + (idx > 0x7)][0]);
157 *ty = mid_pred(s->mv[dir][idx > 0xd][1], s->mv[dir][1 + (idx > 0xb)][1], s->mv[dir][2 + (idx > 0x7)][1]);
160 *tx = (s->mv[dir][index2[idx] >> 4][0] + s->mv[dir][index2[idx] & 0xf][0]) / 2;
161 *ty = (s->mv[dir][index2[idx] >> 4][1] + s->mv[dir][index2[idx] & 0xf][1]) / 2;
172 void ff_vc1_mc_1mv(VC1Context *v, int dir)
186 (v->ref_field_type[dir] == 1 && v->cur_field_type == 1)) &&
193 mx = s->mv[dir][0][0];
194 my = s->mv[dir][0][1];
210 v->cur_field_type != v->ref_field_type[dir]) {
220 if (!dir) {
221 if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) {
279 if (v->field_mode && v->ref_field_type[dir]) {
330 v->field_mode ? 2 * (src_y - s->mspel) + v->ref_field_type[dir] :
386 v->field_mode ? 2 * uvsrc_y + v->ref_field_type[dir] : uvsrc_y,
396 v->field_mode ? 2 * uvsrc_y + v->ref_field_type[dir] : uvsrc_y,
410 luty[v->field_mode ? v->ref_field_type[dir] : ((0 + src_y - s->mspel) & 1)],
411 luty[v->field_mode ? v->ref_field_type[dir] : ((1 + src_y - s->mspel) & 1)],
414 lutuv[v->field_mode ? v->ref_field_type[dir] : ((0 + uvsrc_y) & 1)],
415 lutuv[v->field_mode ? v->ref_field_type[dir] : ((1 + uvsrc_y) & 1)],
445 v->mv_f[dir][s->block_index[4] + v->mb_off] = v->cur_field_type != v->ref_field_type[dir];
446 v->mv_f[dir][s->block_index[5] + v->mb_off] = v->cur_field_type != v->ref_field_type[dir];
452 void ff_vc1_mc_4mv_luma(VC1Context *v, int n, int dir, int avg)
466 (v->ref_field_type[dir] == 1 && v->cur_field_type == 1)) &&
472 mx = s->mv[dir][n][0];
473 my = s->mv[dir][n][1];
475 if (!dir) {
476 if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) {
500 if (v->cur_field_type != v->ref_field_type[dir])
557 if (v->field_mode && v->ref_field_type[dir])
598 v->field_mode ? 2 * (src_y - s->mspel) + v->ref_field_type[dir] :
610 luty[v->field_mode ? v->ref_field_type[dir] : (((0<<fieldmv)+src_y - (s->mspel << fieldmv)) & 1)],
611 luty[v->field_mode ? v->ref_field_type[dir] : (((1<<fieldmv)+src_y - (s->mspel << fieldmv)) & 1)],
634 void ff_vc1_mc_4mv_chroma(VC1Context *v, int dir)
655 int valid_count = get_chroma_mv(v, dir, &tx, &ty);
662 chroma_ref_type = v->ref_field_type[dir];
664 int opp_count = get_luma_mv(v, dir, &tx, &ty);
699 if (!dir) {
832 v->mv_f[dir][s->block_index[4] + v->mb_off] = v->cur_field_type != chroma_ref_type;
833 v->mv_f[dir][s->block_index[5] + v->mb_off] = v->cur_field_type != chroma_ref_type;
839 void ff_vc1_mc_4mv_chroma4(VC1Context *v, int dir, int dir2, int avg)
862 int d = i < 2 ? dir: dir2;
882 if (i < 2 ? dir : dir2) {