[CFL] Load luma as prediction for chroma

Loads the stored reconstructed luma pixels for each trasnform block
inside a prediction block. Supports 4:4:4 and 4:2:0 chroma subsampling
modes.

The CFL_CTX struct is now in cfl.h with appropriate forward declarations

Change-Id: I44c117899414a10a8318d14ecaed402f803de97d
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 8b80332..c53a3ff 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -31,7 +31,9 @@
 #include "av1/common/pvq_state.h"
 #include "av1/decoder/decint.h"
 #endif
-
+#if CONFIG_CFL
+#include "av1/common/cfl.h"
+#endif
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -552,19 +554,6 @@
 
 typedef int16_t EobThresholdMD[TX_SIZES_ALL][TX_TYPES];
 
-#if CONFIG_CFL
-typedef struct {
-  // Pixel buffer containing the luma pixels used as prediction for chroma
-  uint8_t y_pix[MAX_SB_SQUARE];
-
-  // Height and width of the luma prediction block currently in the pixel buffer
-  int y_height, y_width;
-
-  // CfL Performs its own block level DC_PRED for each chromatic plane
-  int dc_pred[CFL_PRED_PLANES];
-} CFL_CTX;
-#endif
-
 typedef struct macroblockd {
   struct macroblockd_plane plane[MAX_MB_PLANE];
   uint8_t bmode_blocks_wl;