mm-video-v4l2: venc: Fix HDR10+ recording

Added main10 profile,so that consumer usage
is set to 10 bit.

Change-Id: I5823740f916ff28ccefc4c6bca441675519ee6be
diff --git a/mm-video-v4l2/vidc/common/src/vidc_common.cpp b/mm-video-v4l2/vidc/common/src/vidc_common.cpp
index bdeab56..a3c9669 100644
--- a/mm-video-v4l2/vidc/common/src/vidc_common.cpp
+++ b/mm-video-v4l2/vidc/common/src/vidc_common.cpp
@@ -58,12 +58,12 @@
 pl_map profile_level_converter::profile_hevc_omx_to_v4l2 ({
             {OMX_VIDEO_HEVCProfileMain,
                         V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN},
-            {OMX_VIDEO_HEVCProfileMain10,
-                        V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10},
             {OMX_VIDEO_HEVCProfileMain10HDR10,
                         V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10},
             {OMX_VIDEO_HEVCProfileMainStill,
                         V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN_STILL_PIC},
+            {OMX_VIDEO_HEVCProfileMain10,
+                        V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10},
         });
 
 pl_map profile_level_converter::profile_hevc_v4l2_to_omx ({});
diff --git a/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h b/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h
index e230d63..907ed7e 100644
--- a/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h
+++ b/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h
@@ -608,6 +608,7 @@
                 OMX_TICKS timestamp, OMX_U32 freeSize);
         bool mBitrateSavingsEnable;
         bool hdr10metadata_supported;
+        bool is_hevcprofile_explicitly_set;
 };
 
 enum instance_state {
diff --git a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
index bc554eb..4219e63 100644
--- a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
+++ b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
@@ -193,6 +193,7 @@
     mIsNativeRecorder = false;
     m_hdr10meta_enabled = false;
     hdr10metadata_supported = false;
+    is_hevcprofile_explicitly_set = false;
 
     Platform::Config::getInt32(Platform::vidc_enc_log_in,
             (int32_t *)&m_debug.in_buffer_log, 0);
@@ -1170,9 +1171,9 @@
                             QOMX_VIDEO_AVCProfileConstrainedHigh,
                             QOMX_VIDEO_AVCProfileHigh };
     int hevc_profiles[4] = { OMX_VIDEO_HEVCProfileMain,
-                             OMX_VIDEO_HEVCProfileMain10,
                              OMX_VIDEO_HEVCProfileMain10HDR10,
-                             OMX_VIDEO_HEVCProfileMainStill };
+                             OMX_VIDEO_HEVCProfileMainStill,
+                             OMX_VIDEO_HEVCProfileMain10 };
 
     if (!profileLevelType)
         return OMX_ErrorBadParameter;
@@ -1659,7 +1660,7 @@
         supported_rc_modes = (RC_ALL & ~RC_CBR_CFR);
     }
 
-    if (!strcmp(m_platform_name, "sm6150") || !strcmp(m_platform_name, "atoll") || !strcmp(m_platform_name, "trinket") || !strcmp(m_platform_name, "msmnile"))
+    if (!strcmp(m_platform_name, "sm6150") || !strcmp(m_platform_name, "atoll") || !strcmp(m_platform_name, "trinket"))
     {
        hdr10metadata_supported = false;
     }
@@ -4362,6 +4363,7 @@
                             handle->format == HAL_PIXEL_FORMAT_YCbCr_420_P010_VENUS) &&
                             codec_profile.profile != V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10)
                             {
+                                is_hevcprofile_explicitly_set = true;
                                 if (!venc_set_profile (OMX_VIDEO_HEVCProfileMain10)) {
                                     DEBUG_PRINT_ERROR("ERROR: Unsuccessful in updating Profile OMX_VIDEO_HEVCProfileMain10");
                                     return false;
@@ -5308,7 +5310,7 @@
 
     codec_profile.profile = control.value;
 
-    if (hdr10metadata_supported == true) {
+    if (hdr10metadata_supported == true && (!is_hevcprofile_explicitly_set)) {
         if (venc_set_extradata_hdr10metadata() == false)
         {
             DEBUG_PRINT_ERROR("Failed to set extradata HDR10PLUS_METADATA");
@@ -7284,7 +7286,9 @@
     /* Configure UBWC as default */
     *usage |= GRALLOC_USAGE_PRIVATE_ALLOC_UBWC;
 
-    if (hevc && eProfile == (OMX_U32)OMX_VIDEO_HEVCProfileMain10HDR10) {
+    if (hevc &&
+       (eProfile == (OMX_U32)OMX_VIDEO_HEVCProfileMain10HDR10 ||
+        eProfile == (OMX_U32)OMX_VIDEO_HEVCProfileMain10)) {
         DEBUG_PRINT_INFO("Setting 10-bit consumer usage bits");
         *usage |= GRALLOC_USAGE_PRIVATE_10BIT_VIDEO;
         if (mUseLinearColorFormat & REQUEST_LINEAR_COLOR_10_BIT) {