Lines Matching refs:mb_x

1003 static int vp7_calculate_mb_offset(int mb_x, int mb_y, int mb_width,
1008 int new = (mb_y + yoffset) * vwidth + mb_x + xoffset;
1023 int mb_x, int mb_y, int layout)
1042 if (vp7_calculate_mb_offset(mb_x, mb_y, s->mb_width, pred->xoffset,
1114 int mb_x, int mb_y, int layout)
1214 int mb_x, int keyframe, int layout)
1229 top = s->intra4x4_pred_mode_top + 4 * mb_x;
1249 VP8Macroblock *mb, int mb_x, int mb_y,
1285 decode_intra4x4_modes(s, c, mb, mb_x, 1, layout);
1292 AV_WN32A(s->intra4x4_pred_mode_top + 4 * mb_x, modes);
1311 vp7_decode_mvs(s, mb, mb_x, mb_y, layout);
1313 vp8_decode_mvs(s, mv_bounds, mb, mb_x, mb_y, layout);
1319 decode_intra4x4_modes(s, c, mb, mb_x, 0, layout);
1562 uint8_t *src_cr, ptrdiff_t linesize, ptrdiff_t uvlinesize, int mb_x,
1581 if (mb_x < mb_width - 1)
1595 int check_dc_pred8x8_mode(int mode, int mb_x, int mb_y)
1597 if (!mb_x)
1604 int check_tm_pred8x8_mode(int mode, int mb_x, int mb_y, int vp7)
1606 if (!mb_x)
1613 int check_intra_pred8x8_mode_emuedge(int mode, int mb_x, int mb_y, int vp7)
1617 return check_dc_pred8x8_mode(mode, mb_x, mb_y);
1621 return !mb_x ? (vp7 ? DC_128_PRED8x8 : DC_129_PRED8x8) : mode;
1623 return check_tm_pred8x8_mode(mode, mb_x, mb_y, vp7);
1629 int check_tm_pred4x4_mode(int mode, int mb_x, int mb_y, int vp7)
1631 if (!mb_x) {
1639 int check_intra_pred4x4_mode_emuedge(int mode, int mb_x, int mb_y,
1644 if (!mb_x && mb_y) {
1659 return !mb_x ? (vp7 ? DC_128_PRED : DC_129_PRED) : mode;
1661 return check_tm_pred4x4_mode(mode, mb_x, mb_y, vp7);
1667 if (!mb_y || !mb_x)
1676 VP8Macroblock *mb, int mb_x, int mb_y, int is_vp7)
1684 xchg_mb_border(s->top_border[mb_x + 1], dst[0], dst[1], dst[2],
1685 s->linesize, s->uvlinesize, mb_x, mb_y, s->mb_width,
1689 mode = check_intra_pred8x8_mode_emuedge(mb->mode, mb_x, mb_y, is_vp7);
1704 if (mb_y && mb_x == s->mb_width - 1) {
1725 mode = check_intra_pred4x4_mode_emuedge(intra4x4[x], mb_x + x,
1735 if (!(mb_x + x)) {
1741 if (!(mb_x + x)) {
1779 mb_x, mb_y, is_vp7);
1784 xchg_mb_border(s->top_border[mb_x + 1], dst[0], dst[1], dst[2],
1785 s->linesize, s->uvlinesize, mb_x, mb_y, s->mb_width,
1959 void prefetch_motion(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,
1964 int x_off = mb_x << 4, y_off = mb_y << 4;
1968 int off = mx + (my + (mb_x & 3) * 4) * s->linesize + 64;
1973 off = (mx >> 1) + ((my >> 1) + (mb_x & 7)) * s->uvlinesize + 64;
1983 VP8Macroblock *mb, int mb_x, int mb_y)
1985 int x_off = mb_x << 4, y_off = mb_y << 4;
2162 int mb_x, int mb_y, int is_vp7)
2196 if (mb_x) {
2249 int mb_x, int mb_y)
2263 if (mb_x)
2286 int mb_x, mb_y;
2300 for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb_xy++, mb++) {
2307 decode_mb_mode(s, &s->mv_bounds, mb, mb_x, mb_y, curframe->seg_map->data + mb_xy,
2348 #define update_pos(td, mb_y, mb_x) \
2350 int pos = (mb_y << 16) | (mb_x & 0xFFFF); \
2366 #define update_pos(td, mb_y, mb_x) while(0)
2375 int mb_x, mb_xy = mb_y * s->mb_width;
2416 for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb_xy++, mb++) {
2419 // Wait for previous thread to read mb_x+2, and reach mb_y-1.
2423 mb_x + (is_vp7 ? 2 : 1),
2427 mb_x + (is_vp7 ? 2 : 1) + s->mb_width + 3,
2432 s->vdsp.prefetch(dst[0] + (mb_x & 3) * 4 * s->linesize + 64,
2434 s->vdsp.prefetch(dst[1] + (mb_x & 7) * s->uvlinesize + 64,
2438 decode_mb_mode(s, &td->mv_bounds, mb, mb_x, mb_y, curframe->seg_map->data + mb_xy,
2442 prefetch_motion(s, mb, mb_x, mb_y, mb_xy, VP56_FRAME_PREVIOUS);
2445 decode_mb_coeffs(s, td, c, mb, s->top_nnz[mb_x], td->left_nnz, is_vp7);
2448 intra_predict(s, td, dst, mb, mb_x, mb_y, is_vp7);
2450 inter_predict(s, td, dst, mb, mb_x, mb_y);
2452 prefetch_motion(s, mb, mb_x, mb_y, mb_xy, VP56_FRAME_GOLDEN);
2458 AV_WN64(s->top_nnz[mb_x], 0); // array of 9, so unaligned
2464 s->top_nnz[mb_x][8] = 0;
2469 filter_level_for_mb(s, mb, &td->filter_strength[mb_x], is_vp7);
2473 backup_mb_border(s->top_border[mb_x + 1], dst[0],
2476 backup_mb_border(s->top_border[mb_x + 1], dst[0],
2480 prefetch_motion(s, mb, mb_x, mb_y, mb_xy, VP56_FRAME_GOLDEN2);
2488 if (mb_x == s->mb_width + 1) {
2491 update_pos(td, mb_y, mb_x);
2514 int mb_x, mb_y = atomic_load(&td->thread_mb_pos) >> 16, num_jobs = s->num_jobs;
2538 for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb++) {
2539 VP8FilterStrength *f = &td->filter_strength[mb_x];
2542 (mb_x + 1) + (s->mb_width + 3), mb_y - 1);
2545 check_thread_pos(td, next_td, mb_x + 1, mb_y + 1);
2549 backup_mb_border(s->top_border[mb_x + 1], dst[0],
2552 backup_mb_border(s->top_border[mb_x + 1], dst[0],
2557 filter_mb_simple(s, dst[0], f, mb_x, mb_y);
2559 filter_mb(s, dst, f, mb_x, mb_y, is_vp7);
2564 update_pos(td, mb_y, (s->mb_width + 3) + mb_x);