Lines Matching refs:mi_col

53                               int mi_row, int mi_col, BLOCK_SIZE bsize,
85 int mi_row, int mi_col,
89 mi_col * MI_SIZE];
98 int mi_col) {
100 mi_row, mi_col,
114 int mi_col) {
116 mi_row, mi_col,
131 int mi_col) {
132 const int idx_str = xd->mi_stride * mi_row + mi_col;
138 int mi_row, int mi_col, BLOCK_SIZE bsize) {
147 set_skip_context(xd, mi_row, mi_col);
149 set_modeinfo_offsets(cm, xd, mi_row, mi_col);
154 vp9_setup_dst_planes(xd->plane, get_frame_new_buffer(cm), mi_row, mi_col);
159 x->mv_col_min = -(((mi_col + mi_width) * MI_SIZE) + VP9_INTERP_EXTEND);
161 x->mv_col_max = (cm->mi_cols - mi_col) * MI_SIZE + VP9_INTERP_EXTEND;
164 assert(!(mi_col & (mi_width - 1)) && !(mi_row & (mi_height - 1)));
165 set_mi_row_col(xd, tile, mi_row, mi_height, mi_col, mi_width,
169 vp9_setup_src_planes(x, cpi->Source, mi_row, mi_col);
180 mbmi->segment_id = vp9_get_segment_id(cm, map, bsize, mi_row, mi_col);
192 int mi_row, int mi_col,
199 if (mi_row + j < cm->mi_rows && mi_col + i < cm->mi_cols)
205 int mi_row, int mi_col,
207 if (cpi->common.mi_cols > mi_col && cpi->common.mi_rows > mi_row) {
209 set_modeinfo_offsets(&cpi->common, xd, mi_row, mi_col);
211 duplicate_mode_info_in_sb(&cpi->common, xd, mi_row, mi_col, bsize);
332 int mi_col) {
346 if (mi_col + block_width / 2 < cm->mi_cols &&
349 set_block_size(cpi, mi_row, mi_col, bsize);
358 set_block_size(cpi, mi_row, mi_col, subsize);
359 set_block_size(cpi, mi_row, mi_col + block_width / 2, subsize);
364 if (mi_col + block_width / 2 < cm->mi_cols &&
368 set_block_size(cpi, mi_row, mi_col, subsize);
369 set_block_size(cpi, mi_row + block_height / 2, mi_col, subsize);
378 int mi_row, int mi_col) {
395 set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64);
406 vp9_setup_pre_planes(xd, 0, yv12, mi_row, mi_col, sf);
415 vp9_build_inter_predictors_sby(xd, mi_row, mi_col, BLOCK_64X64);
457 mi_row, mi_col)) {
462 (mi_row + y32_idx), (mi_col + x32_idx))) {
474 (mi_col + x32_idx + x16_idx),
482 (mi_col + x32_idx + x16_idx + x8_idx),
490 (mi_col + x32_idx + x16_idx), 2)) {
496 (mi_col + x32_idx + x16_idx + x8_idx),
508 int mi_row, int mi_col, BLOCK_SIZE bsize,
539 vp9_get_segment_id(cm, map, bsize, mi_row, mi_col);
545 mi_row, mi_col, bsize, 1);
641 int mi_row, int mi_col) {
650 setup_pred_plane(&x->plane[i].src, buffers[i], strides[i], mi_row, mi_col,
687 int mi_row, int mi_col,
720 set_offsets(cpi, tile, mi_row, mi_col, bsize);
752 mbmi->segment_id = vp9_get_segment_id(cm, map, bsize, mi_row, mi_col);
760 const int mi_offset = mi_row * cm->mi_cols + mi_col;
763 (mi_col <= 1) || (mi_col >= (cm->mi_cols - 2));
770 if (vp9_get_segment_id(cm, map, bsize, mi_row, mi_col))
785 vp9_rd_pick_inter_mode_sb(cpi, x, tile, mi_row, mi_col,
788 vp9_rd_pick_inter_mode_sub8x8(cpi, x, tile, mi_row, mi_col, totalrate,
840 static void restore_context(VP9_COMP *cpi, int mi_row, int mi_col,
854 xd->above_context[p] + ((mi_col * 2) >> xd->plane[p].subsampling_x),
865 vpx_memcpy(xd->above_seg_context + mi_col, sa,
871 static void save_context(VP9_COMP *cpi, int mi_row, int mi_col,
888 xd->above_context[p] + (mi_col * 2 >> xd->plane[p].subsampling_x),
898 vpx_memcpy(sa, xd->above_seg_context + mi_col,
905 TOKENEXTRA **tp, int mi_row, int mi_col,
908 set_offsets(cpi, tile, mi_row, mi_col, bsize);
909 update_state(cpi, ctx, mi_row, mi_col, bsize, output_enabled);
910 encode_superblock(cpi, tp, output_enabled, mi_row, mi_col, bsize, ctx);
921 TOKENEXTRA **tp, int mi_row, int mi_col,
933 if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
937 ctx = partition_plane_context(xd, mi_row, mi_col, bsize);
950 encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
954 encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
956 if (mi_col + hbs < cm->mi_cols && bsize > BLOCK_8X8) {
957 encode_b(cpi, tile, tp, mi_row, mi_col + hbs, output_enabled, subsize,
962 encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
965 encode_b(cpi, tile, tp, mi_row + hbs, mi_col, output_enabled, subsize,
971 encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
974 encode_sb(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
976 encode_sb(cpi, tile, tp, mi_row, mi_col + hbs, output_enabled, subsize,
978 encode_sb(cpi, tile, tp, mi_row + hbs, mi_col, output_enabled, subsize,
980 encode_sb(cpi, tile, tp, mi_row + hbs, mi_col + hbs, output_enabled,
990 update_partition_context(xd, mi_row, mi_col, subsize, bsize);
1035 MODE_INFO *mi_8x8, int mi_row, int mi_col,
1040 const int col8x8_remaining = tile->mi_col_end - mi_col;
1042 MODE_INFO *mi_upper_left = cm->mi + mi_row * mis + mi_col;
1089 int mi_row, int mi_col,
1094 const int col8x8_remaining = tile->mi_col_end - mi_col;
1095 MODE_INFO *const mi_upper_left = cm->mi + mi_row * mis + mi_col;
1155 int mi_row, int mi_col) {
1160 const int col8x8_remaining = tile->mi_col_end - mi_col;
1161 MODE_INFO *mi_upper_left = cm->mi + mi_row * mis + mi_col;
1163 vp9_setup_src_planes(x, cpi->Source, mi_row, mi_col);
1173 const int offset = (mi_row >> 1) * cm->mb_cols + (mi_col >> 1);
1239 int mi_row, int mi_col) {
1242 const int col8x8_remaining = tile->mi_col_end - mi_col;
1243 const int x = mi_col * MI_SIZE;
1290 int mi_row, int mi_col, int bsize) {
1305 mi_row, mi_col, bsize, 1);
1323 TOKENEXTRA **tp, int mi_row, int mi_col,
1326 set_offsets(cpi, tile, mi_row, mi_col, bsize);
1327 update_state_rt(cpi, ctx, mi_row, mi_col, bsize);
1331 vp9_denoiser_denoise(&cpi->denoiser, &cpi->mb, mi_row, mi_col,
1336 encode_superblock(cpi, tp, output_enabled, mi_row, mi_col, bsize, ctx);
1344 TOKENEXTRA **tp, int mi_row, int mi_col,
1356 if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
1360 const int idx_str = xd->mi_stride * mi_row + mi_col;
1362 ctx = partition_plane_context(xd, mi_row, mi_col, bsize);
1375 encode_b_rt(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
1379 encode_b_rt(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
1381 if (mi_col + hbs < cm->mi_cols && bsize > BLOCK_8X8) {
1382 encode_b_rt(cpi, tile, tp, mi_row, mi_col + hbs, output_enabled,
1387 encode_b_rt(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
1390 encode_b_rt(cpi, tile, tp, mi_row + hbs, mi_col, output_enabled,
1396 encode_sb_rt(cpi, tile, tp, mi_row, mi_col, output_enabled, subsize,
1398 encode_sb_rt(cpi, tile, tp, mi_row, mi_col + hbs, output_enabled,
1400 encode_sb_rt(cpi, tile, tp, mi_row + hbs, mi_col, output_enabled,
1402 encode_sb_rt(cpi, tile, tp, mi_row + hbs, mi_col + hbs, output_enabled,
1411 update_partition_context(xd, mi_row, mi_col, subsize, bsize);
1417 TOKENEXTRA **tp, int mi_row, int mi_col,
1447 if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
1457 save_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
1460 set_offsets(cpi, tile, mi_row, mi_col, bsize);
1484 mi_col + (mi_step >> 1) < cm->mi_cols) {
1486 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &none_rate, &none_dist, bsize,
1489 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
1496 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
1504 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &last_part_rate,
1508 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &last_part_rate,
1516 update_state(cpi, ctx, mi_row, mi_col, subsize, 0);
1517 encode_superblock(cpi, tp, 0, mi_row, mi_col, subsize, ctx);
1518 rd_pick_sb_modes(cpi, tile, mi_row + (mi_step >> 1), mi_col, &rt, &dt,
1531 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &last_part_rate,
1535 bsize >= BLOCK_8X8 && mi_col + (mi_step >> 1) < cm->mi_cols) {
1539 update_state(cpi, ctx, mi_row, mi_col, subsize, 0);
1540 encode_superblock(cpi, tp, 0, mi_row, mi_col, subsize, ctx);
1541 rd_pick_sb_modes(cpi, tile, mi_row, mi_col + (mi_step >> 1), &rt, &dt,
1555 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &last_part_rate,
1569 if ((mi_row + y_idx >= cm->mi_rows) || (mi_col + x_idx >= cm->mi_cols))
1573 mi_row + y_idx, mi_col + x_idx, subsize, &rt, &dt,
1589 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
1601 && (mi_col + mi_step < cm->mi_cols ||
1602 mi_col + (mi_step >> 1) == cm->mi_cols)) {
1606 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
1618 if ((mi_row + y_idx >= cm->mi_rows) || (mi_col + x_idx >= cm->mi_cols))
1621 save_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
1623 rd_pick_sb_modes(cpi, tile, mi_row + y_idx, mi_col + x_idx, &rt, &dt,
1627 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
1639 encode_sb(cpi, tile, tp, mi_row + y_idx, mi_col + x_idx, 0,
1642 pl = partition_plane_context(xd, mi_row + y_idx, mi_col + x_idx,
1646 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
1670 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
1684 vp9_select_in_frame_q_segment(cpi, mi_row, mi_col,
1691 encode_sb(cpi, tile, tp, mi_row, mi_col, output_enabled, bsize,
1756 int mi_row, int mi_col,
1765 const int col8x8_remaining = tile->mi_col_end - mi_col;
1783 cm->prev_mip + cm->mi_stride + 1 + mi_row * xd->mi_stride + mi_col;
1852 int mi_row, int mi_col,
1862 int col8x8_remaining = tile->mi_col_end - mi_col;
1867 const int search_range_ctrl = (((mi_row + mi_col) >> bsl) +
1914 int mi_row, int mi_col, BLOCK_SIZE bsize,
1921 const int idx_str = cm->mi_stride * mi_row + mi_col;
2026 int mi_col, BLOCK_SIZE bsize, int *rate,
2047 const int force_vert_split = (mi_col + mi_step >= cm->mi_cols);
2069 set_offsets(cpi, tile, mi_row, mi_col, bsize);
2079 set_partition_range(cm, xd, mi_row, mi_col, bsize, &min_size, &max_size);
2097 save_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
2101 set_offsets(cpi, tile, mi_row, mi_col, bsize);
2103 mi_row, mi_col, bsize);
2114 int mb_col = mi_col >> 1;
2160 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &this_rate, &this_dist, bsize,
2164 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2204 int mb_col = mi_col >> 1;
2229 set_offsets(cpi, tile, mi_row, mi_col, bsize);
2231 cpi, &cpi->mb.plane[0].src, mi_row, mi_col, bsize);
2242 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
2260 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &sum_rate, &sum_dist, subsize,
2271 if (mi_row + y_idx >= cm->mi_rows || mi_col + x_idx >= cm->mi_cols)
2278 rd_pick_partition(cpi, tile, tp, mi_row + y_idx, mi_col + x_idx,
2293 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2309 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
2321 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &sum_rate, &sum_dist, subsize,
2327 update_state(cpi, ctx, mi_row, mi_col, subsize, 0);
2328 encode_superblock(cpi, tp, 0, mi_row, mi_col, subsize, ctx);
2336 rd_pick_sb_modes(cpi, tile, mi_row + mi_step, mi_col, &this_rate,
2348 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2358 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
2370 rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &sum_rate, &sum_dist, subsize,
2373 if (sum_rd < best_rd && mi_col + mi_step < cm->mi_cols) {
2374 update_state(cpi, &pc_tree->vertical[0], mi_row, mi_col, subsize, 0);
2375 encode_superblock(cpi, tp, 0, mi_row, mi_col, subsize,
2384 rd_pick_sb_modes(cpi, tile, mi_row, mi_col + mi_step, &this_rate,
2397 pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2407 restore_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize);
2425 vp9_select_in_frame_q_segment(cpi, mi_row, mi_col, output_enabled,
2431 encode_sb(cpi, tile, tp, mi_row, mi_col, output_enabled, bsize, pc_tree);
2448 int mi_col;
2455 for (mi_col = tile->mi_col_start; mi_col < tile->mi_col_end;
2456 mi_col += MI_BLOCK_SIZE) {
2485 const int idx_str = cm->mi_stride * mi_row + mi_col;
2490 set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64);
2491 set_fixed_partitioning(cpi, tile, mi, mi_row, mi_col,
2493 rd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
2498 set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64);
2499 bsize = get_rd_var_based_fixed_partition(cpi, mi_row, mi_col);
2500 set_fixed_partitioning(cpi, tile, mi, mi_row, mi_col, bsize);
2501 rd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
2504 choose_partitioning(cpi, tile, mi_row, mi_col);
2505 rd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
2526 set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64);
2527 rd_auto_partition_range(cpi, tile, mi_row, mi_col,
2531 rd_pick_partition(cpi, tile, tp, mi_row, mi_col, BLOCK_64X64,
2538 mi_row, mi_col, BLOCK_16X16);
2541 rd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
2548 set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64);
2549 rd_auto_partition_range(cpi, tile, mi_row, mi_col,
2553 rd_pick_partition(cpi, tile, tp, mi_row, mi_col, BLOCK_64X64,
2591 int mi_row, mi_col;
2596 for (mi_col = 0; mi_col < cm->mi_cols; ++mi_col) {
2597 if (mi_ptr[mi_col].src_mi->mbmi.tx_size > max_tx_size)
2598 mi_ptr[mi_col].src_mi->mbmi.tx_size = max_tx_size;
2627 int mi_row, int mi_col,
2634 set_offsets(cpi, tile, mi_row, mi_col, bsize);
2645 vp9_pick_inter_mode(cpi, x, tile, mi_row, mi_col, rate, dist, bsize, ctx);
2647 duplicate_mode_info_in_sb(cm, xd, mi_row, mi_col, bsize);
2651 int mi_row, int mi_col,
2660 if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
2665 set_modeinfo_offsets(cm, xd, mi_row, mi_col);
2667 duplicate_mode_info_in_sb(cm, xd, mi_row, mi_col, bsize);
2670 set_modeinfo_offsets(cm, xd, mi_row, mi_col);
2672 duplicate_mode_info_in_sb(cm, xd, mi_row, mi_col, bsize);
2674 if (mi_col + hbs < cm->mi_cols) {
2675 set_modeinfo_offsets(cm, xd, mi_row, mi_col + hbs);
2677 duplicate_mode_info_in_sb(cm, xd, mi_row, mi_col + hbs, bsize);
2681 set_modeinfo_offsets(cm, xd, mi_row, mi_col);
2683 duplicate_mode_info_in_sb(cm, xd, mi_row, mi_col, bsize);
2685 set_modeinfo_offsets(cm, xd, mi_row + hbs, mi_col);
2687 duplicate_mode_info_in_sb(cm, xd, mi_row + hbs, mi_col, bsize);
2692 fill_mode_info_sb(cm, x, mi_row, mi_col, subsize,
2694 fill_mode_info_sb(cm, x, mi_row, mi_col + hbs, subsize,
2696 fill_mode_info_sb(cm, x, mi_row + hbs, mi_col, subsize,
2698 fill_mode_info_sb(cm, x, mi_row + hbs, mi_col + hbs, subsize,
2709 int mi_col, BLOCK_SIZE bsize, int *rate,
2729 const int force_vert_split = (mi_col + ms >= cm->mi_cols);
2763 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col,
2770 int pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2804 int pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2811 if (mi_row + y_idx >= cm->mi_rows || mi_col + x_idx >= cm->mi_cols)
2814 nonrd_pick_partition(cpi, tile, tp, mi_row + y_idx, mi_col + x_idx,
2846 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col,
2858 nonrd_pick_sb_modes(cpi, tile, mi_row + ms, mi_col,
2869 int pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2891 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col,
2898 if (sum_rd < best_rd && mi_col + ms < cm->mi_cols) {
2900 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col + ms,
2909 int pl = partition_plane_context(xd, mi_row, mi_col, bsize);
2936 fill_mode_info_sb(cm, x, mi_row, mi_col, bsize, subsize,
2946 vp9_select_in_frame_q_segment(cpi, mi_row, mi_col, output_enabled,
2954 encode_sb_rt(cpi, tile, tp, mi_row, mi_col, output_enabled, bsize, pc_tree);
2970 int mi_row, int mi_col,
2984 if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
2992 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col, totrate, totdist,
2999 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col, totrate, totdist,
3004 if (mi_col + hbs < cm->mi_cols) {
3005 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col + hbs,
3018 nonrd_pick_sb_modes(cpi, tile, mi_row, mi_col, totrate, totdist,
3024 nonrd_pick_sb_modes(cpi, tile, mi_row + hbs, mi_col,
3038 nonrd_use_partition(cpi, tile, mi, tp, mi_row, mi_col,
3042 mi_row, mi_col + hbs, subsize, output_enabled,
3050 mi_row + hbs, mi_col, subsize, output_enabled,
3058 mi_row + hbs, mi_col + hbs, subsize, output_enabled,
3075 encode_sb_rt(cpi, tile, tp, mi_row, mi_col, 1, bsize, pc_tree);
3085 int mi_col;
3092 for (mi_col = tile->mi_col_start; mi_col < tile->mi_col_end;
3093 mi_col += MI_BLOCK_SIZE) {
3096 const int idx_str = cm->mi_stride * mi_row + mi_col;
3107 choose_partitioning(cpi, tile, mi_row, mi_col);
3108 nonrd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
3112 set_source_var_based_partition(cpi, tile, mi, mi_row, mi_col);
3113 nonrd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
3120 get_nonrd_var_based_fixed_partition(cpi, mi_row, mi_col);
3121 set_fixed_partitioning(cpi, tile, mi, mi_row, mi_col, bsize);
3122 nonrd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64,
3127 !(x->in_static_area = is_background(cpi, tile, mi_row, mi_col))) {
3128 set_modeinfo_offsets(cm, xd, mi_row, mi_col);
3129 auto_partition_range(cpi, tile, mi_row, mi_col,
3132 nonrd_pick_partition(cpi, tile, tp, mi_row, mi_col, BLOCK_64X64,
3137 nonrd_use_partition(cpi, tile, mi, tp, mi_row, mi_col,
3566 int mi_row, int mi_col, BLOCK_SIZE bsize,
3619 vp9_setup_pre_planes(xd, ref, cfg, mi_row, mi_col,
3623 vp9_build_inter_predictors_sby(xd, mi_row, mi_col, MAX(bsize, BLOCK_8X8));
3625 vp9_build_inter_predictors_sbuv(xd, mi_row, mi_col, MAX(bsize, BLOCK_8X8));
3650 if (mi_col + x < cm->mi_cols && mi_row + y < cm->mi_rows)