qdmetadata: Add support for additional video cvp stats

Add support to receive capture rate and cvp frame rate to video
driver to help configure HFI_PROPERTY_CONFIG_CVP_FRAME_RATE_HINT
property.

Change-Id: Ia87f4762a63a3dfcc5e6613c6e0369a28f246fdc
diff --git a/libqdmetadata/qdMetaData.cpp b/libqdmetadata/qdMetaData.cpp
index 91dbc7a..0f3cd1e 100644
--- a/libqdmetadata/qdMetaData.cpp
+++ b/libqdmetadata/qdMetaData.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
@@ -153,6 +153,8 @@
                  data->cvpMetadata.size = cvpMetadata->size;
                  memcpy(data->cvpMetadata.payload, cvpMetadata->payload,
                         cvpMetadata->size);
+                 data->cvpMetadata.capture_frame_rate = cvpMetadata->capture_frame_rate;
+                 data->cvpMetadata.cvp_frame_rate = cvpMetadata->cvp_frame_rate;
              } else {
                  data->operation &= ~(paramType);
                  ALOGE("%s: cvp metadata length %d is more than max size %d",
@@ -341,6 +343,8 @@
                     cvpMetadata->size = data->cvpMetadata.size;
                     memcpy(cvpMetadata->payload, data->cvpMetadata.payload,
                            data->cvpMetadata.size);
+                    cvpMetadata->capture_frame_rate = data->cvpMetadata.capture_frame_rate;
+                    cvpMetadata->cvp_frame_rate = data->cvpMetadata.cvp_frame_rate;
                     ret = 0;
                 }
             }
diff --git a/libqdmetadata/qdMetaData.h b/libqdmetadata/qdMetaData.h
index 1cc3712..c8b3446 100644
--- a/libqdmetadata/qdMetaData.h
+++ b/libqdmetadata/qdMetaData.h
@@ -123,6 +123,15 @@
 typedef struct CVPMetadata {
     uint32_t size; /* payload size in bytes */
     uint8_t payload[CVP_METADATA_SIZE];
+    uint32_t capture_frame_rate;
+    /* Frame rate in Q16 format.
+            Eg: fps = 7.5, then
+            capture_frame_rate = 7 << 16 --> Upper 16 bits to represent 7
+            capture_frame_rate |= 5 -------> Lower 16 bits to represent 5
+
+       If size > 0, framerate is valid
+       If size = 0, invalid data, so ignore all parameters */
+    uint32_t cvp_frame_rate;
 } CVPMetadata;
 
 struct MetaData_t {