Commit 8e4c3a74 authored by Joe Young's avatar Joe Young
Browse files

[cb4x4][refmv] scan_row_mbmi/scan_col_mbmi

For sub-8x8 blocks, scan loop should have at least one iteration.
Previously, loop would be skipped if col_offset == 1 and n8_w == 1.

This change appears to have neutral effect on bdrate (+0.01).  This could
mean that extra MV candidates are not helping that much for sub-8x8.

Change-Id: Ic778312b39113ab8f348f5c7c18813593a831b7c
parent a74fc4c1
...@@ -181,7 +181,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -181,7 +181,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
const int mi_offset = mi_size_wide[BLOCK_8X8]; const int mi_offset = mi_size_wide[BLOCK_8X8];
#endif #endif
for (i = col_offset; i < xd->n8_w && *refmv_count < MAX_REF_MV_STACK_SIZE;) { for (i = 0; i < xd->n8_w && *refmv_count < MAX_REF_MV_STACK_SIZE;) {
POSITION mi_pos; POSITION mi_pos;
#if CONFIG_CB4X4 #if CONFIG_CB4X4
const int use_step_16 = (xd->n8_w >= 16); const int use_step_16 = (xd->n8_w >= 16);
...@@ -190,7 +190,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -190,7 +190,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#endif #endif
mi_pos.row = row_offset; mi_pos.row = row_offset;
mi_pos.col = i; mi_pos.col = col_offset + i;
if (is_inside(tile, mi_col, mi_row, cm->mi_rows, cm, &mi_pos)) { if (is_inside(tile, mi_col, mi_row, cm->mi_rows, cm, &mi_pos)) {
const MODE_INFO *const candidate_mi = const MODE_INFO *const candidate_mi =
xd->mi[mi_pos.row * xd->mi_stride + mi_pos.col]; xd->mi[mi_pos.row * xd->mi_stride + mi_pos.col];
...@@ -241,7 +241,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -241,7 +241,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
const int mi_offset = mi_size_wide[BLOCK_8X8]; const int mi_offset = mi_size_wide[BLOCK_8X8];
#endif #endif
for (i = row_offset; i < xd->n8_h && *refmv_count < MAX_REF_MV_STACK_SIZE;) { for (i = 0; i < xd->n8_h && *refmv_count < MAX_REF_MV_STACK_SIZE;) {
POSITION mi_pos; POSITION mi_pos;
#if CONFIG_CB4X4 #if CONFIG_CB4X4
const int use_step_16 = (xd->n8_h >= 16); const int use_step_16 = (xd->n8_h >= 16);
...@@ -249,7 +249,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -249,7 +249,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
const int use_step_16 = (xd->n8_h >= 8); const int use_step_16 = (xd->n8_h >= 8);
#endif #endif
mi_pos.row = i; mi_pos.row = row_offset + i;
mi_pos.col = col_offset; mi_pos.col = col_offset;
if (is_inside(tile, mi_col, mi_row, cm->mi_rows, cm, &mi_pos)) { if (is_inside(tile, mi_col, mi_row, cm->mi_rows, cm, &mi_pos)) {
const MODE_INFO *const candidate_mi = const MODE_INFO *const candidate_mi =
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment