Process chroma component at bottom-right block
Process the sub8x8 chroma component at the bottom-right 8x8 block.
Change-Id: I193f8cf2d6bdabb57983cbc66fe9722e5b396207
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index 194daf0..6fbce11 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -747,12 +747,23 @@
#if CONFIG_CHROMA_2X2
return 1;
#endif
+
+#if CONFIG_CHROMA_SUB8X8
+ const int bw = mi_size_wide[bsize];
+ const int bh = mi_size_high[bsize];
+
+ int ref_pos = ((mi_row & 0x01) || !(bh & 0x01) || !subsampling_y) &&
+ ((mi_col & 0x01) || !(bw & 0x01) || !subsampling_x);
+
+ return ref_pos;
+#else
int ref_pos = !(((mi_row & 0x01) && subsampling_y) ||
((mi_col & 0x01) && subsampling_x));
if (bsize >= BLOCK_8X8) ref_pos = 1;
return ref_pos;
+#endif
}
static INLINE BLOCK_SIZE scale_chroma_bsize(BLOCK_SIZE bsize, int subsampling_x,