diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
index 906a0be..56aa24f 100644
--- a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
+++ b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
@@ -2235,9 +2235,49 @@
                         pParam->sAspects.mTransfer = ColorAspects::TransferSMPTE170M;
                         pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT601_6;
                     } else {
-                        // For IMPLEMENTATION_DEFINED (or anything else), stick to client's defaults.
-                        DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: use client-default for format=%x",
-                                pParam->nPixelFormat);
+                         DEBUG_PRINT_INFO("get_config (dataspace changed): dataspace=0x%x", pParam->nDataSpace);
+                         if (pParam->nDataSpace == HAL_DATASPACE_JFIF || pParam->nDataSpace == HAL_DATASPACE_V0_JFIF) {
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: for HAL_DATASPACE_JFIF");
+                             pParam->sAspects.mPrimaries = ColorAspects::PrimariesBT601_6_625;
+                             pParam->sAspects.mRange = ColorAspects::RangeFull;
+                             pParam->sAspects.mTransfer = ColorAspects::TransferSMPTE170M;
+                             pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT601_6;
+                         } else if (pParam->nDataSpace == HAL_DATASPACE_BT601_525 || pParam->nDataSpace == HAL_DATASPACE_V0_BT601_525) {
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: for HAL_DATASPACE_BT601_525");
+                             pParam->sAspects.mPrimaries = ColorAspects::PrimariesBT601_6_525;
+                             pParam->sAspects.mRange = ColorAspects::RangeLimited;
+                             pParam->sAspects.mTransfer = ColorAspects::TransferSMPTE170M;
+                             pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT601_6;
+                         } else if (pParam->nDataSpace == HAL_DATASPACE_BT601_625 || pParam->nDataSpace == HAL_DATASPACE_V0_BT601_625) {
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: for HAL_DATASPACE_BT601_625");
+                             pParam->sAspects.mPrimaries = ColorAspects::PrimariesBT601_6_625;
+                             pParam->sAspects.mRange = ColorAspects::RangeLimited;
+                             pParam->sAspects.mTransfer = ColorAspects::TransferSMPTE170M;
+                             pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT601_6;
+                         } else if (pParam->nDataSpace == HAL_DATASPACE_BT709 || pParam->nDataSpace == HAL_DATASPACE_V0_BT709) {
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: for HAL_DATASPACE_BT709");
+                             pParam->sAspects.mPrimaries = ColorAspects::PrimariesBT709_5;
+                             pParam->sAspects.mRange = ColorAspects::RangeLimited;
+                             pParam->sAspects.mTransfer = ColorAspects::TransferSMPTE170M;
+                             pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT709_5;
+                         } else if (pParam->nDataSpace == HAL_DATASPACE_BT2020) {
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: for HAL_DATASPACE_BT2020");
+                             pParam->sAspects.mPrimaries = ColorAspects::PrimariesBT2020;
+                             pParam->sAspects.mRange = ColorAspects::RangeFull;
+                             pParam->sAspects.mTransfer = ColorAspects::TransferSMPTE170M;
+                             pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT2020;
+                         } else if (pParam->nDataSpace == (HAL_DATASPACE_STANDARD_BT2020|HAL_DATASPACE_TRANSFER_HLG|HAL_DATASPACE_RANGE_LIMITED)) {
+                             //For SONY HDR
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: for HAL_DATASPACE_STANDARD_BT2020|HAL_DATASPACE_TRANSFER_HLG|HAL_DATASPACE_RANGE_LIMITED");
+                             pParam->sAspects.mPrimaries = ColorAspects::PrimariesBT2020;
+                             pParam->sAspects.mRange = ColorAspects::RangeLimited;
+                             pParam->sAspects.mTransfer = ColorAspects::TransferHLG;
+                             pParam->sAspects.mMatrixCoeffs = ColorAspects::MatrixBT2020;
+                         } else {
+                             // Stick to client's defaults.
+                             DEBUG_PRINT_INFO("get_config (dataspace changed): ColorSpace: use client-default for format=%x",
+                             pParam->nPixelFormat);
+                         }
                     }
                     print_debug_color_aspects(&(pParam->sAspects), "get_config (dataspace changed) recommended");
                 } else {
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 2cbfa43..0e080ba 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
@@ -4272,6 +4272,10 @@
 bool venc_dev::venc_cvp_enable(private_handle_t *handle)
 {
     cvpMetadata.size = 0;
+    if (temporal_layers_config.nMaxLayers > 1) {
+        DEBUG_PRINT_INFO("venc_cvp_enable: disabling CVP as max layers %u", temporal_layers_config.nMaxLayers);
+        return true;
+    }
     if (getMetaData(handle, GET_CVP_METADATA, &cvpMetadata) == 0) {
         if (cvpMetadata.size == CVP_METADATA_SIZE) {
             struct v4l2_control control;
