gralloc: Default flexible YUV format to NV21_ZSL

There could be buffers allocated in flexible YUV format without any
camera usage flags. Default the format for such buffers to NV21.
Fixes CTS tests testYuvImageWriterReaderOperation, testAbandonedSurfaceExceptions

Change-Id: I72693b1d35d2803df16d3588b3428bcf1ab0b3eb
diff --git a/libgralloc/gpu.cpp b/libgralloc/gpu.cpp
index 6945daf..71c7bba 100644
--- a/libgralloc/gpu.cpp
+++ b/libgralloc/gpu.cpp
@@ -289,13 +289,18 @@
             grallocFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP; //NV21
         else if(usage & GRALLOC_USAGE_HW_CAMERA_WRITE) {
            if (format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
-               grallocFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP; //NV21
+               grallocFormat = HAL_PIXEL_FORMAT_NV21_ZSL; //NV21
            } else {
                grallocFormat = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS; //NV12 preview
            }
         } else if(usage & GRALLOC_USAGE_HW_COMPOSER)
             //XXX: If we still haven't set a format, default to RGBA8888
             grallocFormat = HAL_PIXEL_FORMAT_RGBA_8888;
+        else if(format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
+            //If no other usage flags are detected, default the
+            //flexible YUV format to NV21_ZSL
+            grallocFormat = HAL_PIXEL_FORMAT_NV21_ZSL;
+        }
     }
 
     bool useFbMem = false;