[CFL] Add support for CHROMA_SUB8X8

When chroma_sub8x8 is enable the custom DC_PRED implemented in CfL uses
chroma_up_available and chroma_left_available instead of up_available
and left_available.

It was mentioned in 3da18d60a53b55758093d1db864114168dd0368c that
this fixes a rare enc/dec mismatch issue.

Change-Id: Ie8920e956962846db15e24bcf7e7eaa13ccb8c12
diff --git a/av1/common/cfl.c b/av1/common/cfl.c
index c8a05ce..749a535 100644
--- a/av1/common/cfl.c
+++ b/av1/common/cfl.c
@@ -52,18 +52,22 @@
   int sum_u = 0;
   int sum_v = 0;
 
-  // Match behavior of build_intra_predictors (reconintra.c) at superblock
-  // boundaries:
-  //
-  // 127 127 127 .. 127 127 127 127 127 127
-  // 129  A   B  ..  Y   Z
-  // 129  C   D  ..  W   X
-  // 129  E   F  ..  U   V
-  // 129  G   H  ..  S   T   T   T   T   T
-  // ..
+// Match behavior of build_intra_predictors (reconintra.c) at superblock
+// boundaries:
+//
+// 127 127 127 .. 127 127 127 127 127 127
+// 129  A   B  ..  Y   Z
+// 129  C   D  ..  W   X
+// 129  E   F  ..  U   V
+// 129  G   H  ..  S   T   T   T   T   T
+// ..
 
-  // TODO(ltrudeau) replace this with DC_PRED assembly
+#if CONFIG_CHROMA_SUB8X8
+  if (xd->chroma_up_available && xd->mb_to_right_edge >= 0) {
+#else
   if (xd->up_available && xd->mb_to_right_edge >= 0) {
+#endif
+    // TODO(ltrudeau) replace this with DC_PRED assembly
     for (int i = 0; i < block_width; i++) {
       sum_u += dst_u[-dst_u_stride + i];
       sum_v += dst_v[-dst_v_stride + i];
@@ -73,7 +77,11 @@
     sum_v = block_width * 127;
   }
 
+#if CONFIG_CHROMA_SUB8X8
+  if (xd->chroma_left_available && xd->mb_to_bottom_edge >= 0) {
+#else
   if (xd->left_available && xd->mb_to_bottom_edge >= 0) {
+#endif
     for (int i = 0; i < block_height; i++) {
       sum_u += dst_u[i * dst_u_stride - 1];
       sum_v += dst_v[i * dst_v_stride - 1];