gralloc: Add option for unaligned YCrCb pixel format

* Same problem as unaligned NV21_ZSL (Samsung Galaxy A70 needs this)

Change-Id: Iddf19433ddef8023b9fa3f7b735f40039dafe3a6
diff --git a/gralloc/Android.mk b/gralloc/Android.mk
index c3f4133..57fee80 100644
--- a/gralloc/Android.mk
+++ b/gralloc/Android.mk
@@ -49,6 +49,9 @@
 ifeq ($(TARGET_USES_UNALIGNED_NV21_ZSL),true)
     LOCAL_CFLAGS              += -DUSE_UNALIGNED_NV21_ZSL
 endif
+ifeq ($(TARGET_USES_UNALIGNED_YCRCB),true)
+    LOCAL_CFLAGS              += -DUSE_UNALIGNED_YCRCB
+endif
 
 LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
 LOCAL_SRC_FILES               := gr_utils.cpp gr_adreno_info.cpp
diff --git a/gralloc/gr_utils.cpp b/gralloc/gr_utils.cpp
index d157ad6..4306663 100644
--- a/gralloc/gr_utils.cpp
+++ b/gralloc/gr_utils.cpp
@@ -1001,6 +1001,9 @@
   // Below should be only YUV family
   switch (format) {
     case HAL_PIXEL_FORMAT_YCrCb_420_SP:
+#ifdef USE_UNALIGNED_YCRCB
+      break;
+#endif
     case HAL_PIXEL_FORMAT_YCbCr_420_SP:
       if (AdrenoMemInfo::GetInstance() == nullptr) {
         return;