Commit 7eb7679d authored by Yue Chen's avatar Yue Chen Committed by Debargha Mukherjee
Browse files

Process OBMC pred in max unit of 64x64

Make the codec account for the 64x64 processing unit constraint
when generating secondary predictions and applying overlapped
filter.

This issue was addressed in commit 440d4254 and 501294ce, but
afterwards some features are not fully retained in an obmc
refactoring commit.

Change-Id: I6f16e6fccb966d45034d5b55447c9d9cb70e02cb
parent 71b6e043
......@@ -34,7 +34,8 @@ static INLINE void foreach_overlappable_nb_above(const AV1_COMMON *cm,
for (int above_mi_col = mi_col; above_mi_col < end_col && nb_count < nb_max;
above_mi_col += mi_step) {
MODE_INFO **above_mi = prev_row_mi + above_mi_col;
mi_step = mi_size_wide[above_mi[0]->mbmi.sb_type];
mi_step = AOMMIN(mi_size_wide[above_mi[0]->mbmi.sb_type],
mi_size_wide[BLOCK_64X64]);
#if CONFIG_CHROMA_SUB8X8
// If we're considering a block with width 4, it should be treated as
// half of a pair of blocks with chroma information in the second. Move
......@@ -73,7 +74,8 @@ static INLINE void foreach_overlappable_nb_left(const AV1_COMMON *cm,
for (int left_mi_row = mi_row; left_mi_row < end_row && nb_count < nb_max;
left_mi_row += mi_step) {
MODE_INFO **left_mi = prev_col_mi + left_mi_row * xd->mi_stride;
mi_step = mi_size_high[left_mi[0]->mbmi.sb_type];
mi_step = AOMMIN(mi_size_high[left_mi[0]->mbmi.sb_type],
mi_size_high[BLOCK_64X64]);
#if CONFIG_CHROMA_SUB8X8
if (mi_step == 1) {
left_mi_row &= ~1;
......
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