diff options
-rw-r--r-- | conf_files/msmnile/msmnile.mk | 7 | ||||
-rw-r--r-- | conf_files/sm6150/sm6150.mk | 7 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/common/Android.mk | 3 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/vdec/Android.mk | 6 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/vdec/inc/omx_vdec.h | 7 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 105 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/venc/Android.mk | 6 |
7 files changed, 106 insertions, 35 deletions
diff --git a/conf_files/msmnile/msmnile.mk b/conf_files/msmnile/msmnile.mk index f61caf7c..5e247096 100644 --- a/conf_files/msmnile/msmnile.mk +++ b/conf_files/msmnile/msmnile.mk @@ -9,7 +9,6 @@ PRODUCT_COPY_FILES += \ $(CONFIG_PATH)/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ $(CONFIG_PATH)/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \ $(CONFIG_PATH)/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ - $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ $(CONFIG_PATH)/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ $(CONFIG_PATH)/system_properties.xml:$(TARGET_COPY_OUT_VENDOR)/etc/system_properties.xml @@ -28,7 +27,8 @@ ifeq ($(GENERIC_ODM_IMAGE),true) PRODUCT_ODM_PROPERTIES += debug.stagefright.ccodec=4 PRODUCT_ODM_PROPERTIES += debug.stagefright.omx_default_rank=1000 PRODUCT_COPY_FILES += \ - device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml + device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \ + device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml else $(warning "Enabling codec2.0 SW only for non-generic odm build variant") DEVICE_MANIFEST_FILE += hardware/qcom/media/conf_files/msmnile/c2_manifest.xml @@ -37,5 +37,6 @@ else PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=0 PRODUCT_PROPERTY_OVERRIDES += media.settings.xml=/vendor/etc/media_profiles_vendor.xml PRODUCT_COPY_FILES += \ - $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml + $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \ + $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml endif diff --git a/conf_files/sm6150/sm6150.mk b/conf_files/sm6150/sm6150.mk index 9872d920..547951e8 100644 --- a/conf_files/sm6150/sm6150.mk +++ b/conf_files/sm6150/sm6150.mk @@ -15,7 +15,6 @@ PRODUCT_COPY_FILES += \ $(CONFIG_PATH)/media_codecs_vendor_sdmmagpie_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v2.xml \ $(CONFIG_PATH)/media_codecs_performance_sdmmagpie_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v1.xml \ $(CONFIG_PATH)/media_codecs_performance_sdmmagpie_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v2.xml \ - $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ $(CONFIG_PATH)/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ $(CONFIG_PATH)/system_properties.xml:$(TARGET_COPY_OUT_VENDOR)/etc/system_properties.xml @@ -39,7 +38,8 @@ ifeq ($(GENERIC_ODM_IMAGE),true) PRODUCT_ODM_PROPERTIES += debug.stagefright.ccodec=4 PRODUCT_ODM_PROPERTIES += debug.stagefright.omx_default_rank=1000 PRODUCT_COPY_FILES += \ - device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml + device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \ + device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml else $(warning "Enabling codec2.0 SW only for non-generic odm build variant") DEVICE_MANIFEST_FILE += hardware/qcom/media/conf_files/sm6150/c2_manifest.xml @@ -48,5 +48,6 @@ else PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=0 PRODUCT_PROPERTY_OVERRIDES += media.settings.xml=/vendor/etc/media_profiles_vendor.xml PRODUCT_COPY_FILES += \ - device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml + device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \ + $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml endif diff --git a/mm-video-v4l2/vidc/common/Android.mk b/mm-video-v4l2/vidc/common/Android.mk index f0c7edcd..0013278f 100644 --- a/mm-video-v4l2/vidc/common/Android.mk +++ b/mm-video-v4l2/vidc/common/Android.mk @@ -1,6 +1,8 @@ ROOT_DIR := $(call my-dir) +LIBION_HEADER_PATH_WRAPPER := $(QC_OPEN_PATH)/core-utils/build/libion_header_paths/libion_path.mk include $(CLEAR_VARS) +include $(LIBION_HEADER_PATH_WRAPPER) LOCAL_PATH:= $(ROOT_DIR) # --------------------------------------------------------------------------------- @@ -25,6 +27,7 @@ libmm-vidc-inc += $(QCOM_MEDIA_ROOT)/mm-core/inc libmm-vidc-inc += $(QCOM_MEDIA_ROOT)/libc2dcolorconvert libmm-vidc-inc += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include libmm-vidc-inc += $(TOP)/hardware/libhardware/include +libmm-vidc-inc += $(LIBION_HEADER_PATHS) LOCAL_MODULE := libOmxVidcCommon LOCAL_MODULE_TAGS := optional diff --git a/mm-video-v4l2/vidc/vdec/Android.mk b/mm-video-v4l2/vidc/vdec/Android.mk index 7e8a4a81..323eba21 100644 --- a/mm-video-v4l2/vidc/vdec/Android.mk +++ b/mm-video-v4l2/vidc/vdec/Android.mk @@ -1,5 +1,8 @@ LOCAL_PATH := $(call my-dir) +LIBION_HEADER_PATH_WRAPPER := $(QC_OPEN_PATH)/core-utils/build/libion_header_paths/libion_path.mk + include $(CLEAR_VARS) +include $(LIBION_HEADER_PATH_WRAPPER) # --------------------------------------------------------------------------------- # Common definitons @@ -56,8 +59,7 @@ include $(CLEAR_VARS) # Common Includes libmm-vdec-inc := $(LOCAL_PATH)/inc -libmm-vdec-inc += $(TOP)/system/memory/libion/include -libmm-vdec-inc += $(TOP)/system/memory/libion/kernel-headers +libmm-vdec-inc += $(LIBION_HEADER_PATHS) libmm-vdec-inc += $(QCOM_MEDIA_ROOT)/mm-video-v4l2/vidc/common/inc libmm-vdec-inc += $(QCOM_MEDIA_ROOT)/mm-core/inc libmm-vdec-inc += $(QCOM_MEDIA_ROOT)/libplatformconfig diff --git a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h index 05b1ce5d..d72d6585 100644 --- a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h +++ b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h @@ -1,5 +1,5 @@ /*-------------------------------------------------------------------------- -Copyright (c) 2010 - 2019, The Linux Foundation. All rights reserved. +Copyright (c) 2010 - 2020, 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 @@ -1470,12 +1470,15 @@ class omx_vdec: public qc_omx_component void get_preferred_color_aspects(ColorAspects& preferredColorAspects); void get_preferred_hdr_info(HDRStaticInfo& preferredHDRInfo); bool vdec_query_cap(struct v4l2_queryctrl &cap); - bool store_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusinfo); + bool store_vp9_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusinfo); + bool store_hevc_hdr10plusinfo(uint32_t payload_size, + msm_vidc_stream_userdata_payload *hdr10plusdata); void update_hdr10plusinfo_cookie_using_timestamp(OMX_PTR cookie, OMX_TICKS timestamp); void convert_hdr10plusinfo_to_metadata(OMX_PTR cookie, ColorMetaData &colorData); void remove_hdr10plusinfo_using_cookie(OMX_PTR cookie); void clear_hdr10plusinfo(); void get_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata); + void print_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata); public: bool is_down_scalar_enabled; bool m_is_split_mode; diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp index 10a51c97..a8c4dffa 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp @@ -1,5 +1,5 @@ /*-------------------------------------------------------------------------- -Copyright (c) 2010 - 2019, The Linux Foundation. All rights reserved. +Copyright (c) 2010 - 2020, 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 met: @@ -153,14 +153,13 @@ extern "C" { #define MAX(x,y) (((x) > (y)) ? (x) : (y)) /* -To enable sending vp9 hdr10plus metadata via private gralloc -handle to display, define VP9_HDR10PLUS_GRALLOC_PATH_ENABLE -as 1. This disables sending metadata via framework. -To enable sending vp9 hdr10plus metadata via framework, define -VP9_HDR10PLUS_GRALLOC_PATH_ENABLE as 0. This disables sending -metadata via gralloc handle. +To enable sending vp9/hevc hdr10plus metadata via private gralloc +handle to display, define HDR10PLUS_SETMETADATA_ENABLE as 1.This +disables sending metadata via framework. To enable sending vp9/hevc +hdr10plus metadata via framework, define HDR10PLUS_SETMETADATA_ENABLE +as 0. This disables sending metadata via gralloc handle. */ -#define VP9HDR10PLUS_SETMETADATA_ENABLE 1 +#define HDR10_SETMETADATA_ENABLE 0 using namespace android; @@ -1612,8 +1611,9 @@ void omx_vdec::process_event_cb(void *ctxt) pThis->omx_report_error (); break; } -#if !VP9HDR10PLUS_SETMETADATA_ENABLE - if (pThis->output_capability != V4L2_PIX_FMT_VP9) +#if !HDR10_SETMETADATA_ENABLE + if (pThis->output_capability != V4L2_PIX_FMT_VP9 && + pThis->output_capability != V4L2_PIX_FMT_HEVC) break; if (!pThis->m_cb.EventHandler) { @@ -5389,7 +5389,7 @@ OMX_ERRORTYPE omx_vdec::get_config(OMX_IN OMX_HANDLETYPE hComp, print_debug_color_aspects(&(m_client_color_space.sAspects), "GetConfig Client"); print_debug_color_aspects(&(m_internal_color_space.sAspects), "GetConfig Internal"); get_preferred_color_aspects(params->sAspects); - print_debug_color_aspects(&(params->sAspects), "GetConfig"); + print_debug_color_aspects(&(params->sAspects), "Frameworks path GetConfig Color Aspects"); break; } @@ -5400,7 +5400,7 @@ OMX_ERRORTYPE omx_vdec::get_config(OMX_IN OMX_HANDLETYPE hComp, print_debug_hdr_color_info(&(m_client_hdr_info.sInfo), "GetConfig Client HDR"); print_debug_hdr_color_info(&(m_internal_hdr_info.sInfo), "GetConfig Internal HDR"); get_preferred_hdr_info(params->sInfo); - print_debug_hdr_color_info(&(params->sInfo), "GetConfig HDR"); + print_debug_hdr_color_info(&(params->sInfo), "Frameworks path GetConfig HDR"); break; } @@ -5409,6 +5409,7 @@ OMX_ERRORTYPE omx_vdec::get_config(OMX_IN OMX_HANDLETYPE hComp, VALIDATE_OMX_PARAM_DATA(configData, DescribeHDR10PlusInfoParams); DescribeHDR10PlusInfoParams *params = (DescribeHDR10PlusInfoParams *)configData; get_hdr10plusinfo(params); + print_hdr10plusinfo(params); break; } case OMX_IndexConfigAndroidVendorExtension: @@ -5611,7 +5612,7 @@ OMX_ERRORTYPE omx_vdec::set_config(OMX_IN OMX_HANDLETYPE hComp, } else if ((int)configIndex == (int)OMX_QTIIndexConfigDescribeHDR10PlusInfo) { VALIDATE_OMX_PARAM_DATA(configData, DescribeHDR10PlusInfoParams); - if (!store_hdr10plusinfo((DescribeHDR10PlusInfoParams *)configData)) { + if (!store_vp9_hdr10plusinfo((DescribeHDR10PlusInfoParams *)configData)) { DEBUG_PRINT_ERROR("Failed to set hdr10plus info"); } return ret; @@ -11197,7 +11198,7 @@ void omx_vdec::convert_hdr_info_to_metadata(HDRStaticInfo& hdr_info, ColorMetaDa mastering_display.primaries.rgbPrimaries[2][1] = hdr_info.sType1.mB.y; mastering_display.primaries.whitePoint[0] = hdr_info.sType1.mW.x; mastering_display.primaries.whitePoint[1] = hdr_info.sType1.mW.y; - mastering_display.maxDisplayLuminance = hdr_info.sType1.mMaxDisplayLuminance * LUMINANCE_DIV_FACTOR; + mastering_display.maxDisplayLuminance = hdr_info.sType1.mMaxDisplayLuminance; mastering_display.minDisplayLuminance = hdr_info.sType1.mMinDisplayLuminance; content_light.lightLevelSEIEnabled = true; content_light.maxContentLightLevel = hdr_info.sType1.mMaxContentLightLevel; @@ -11526,10 +11527,14 @@ bool omx_vdec::handle_extradata(OMX_BUFFERHEADERTYPE *p_buf_hdr) (payload_len > HDR_DYNAMIC_META_DATA_SZ)) { DEBUG_PRINT_ERROR("Invalid User extradata size %u for HDR10+", data->nDataSize); } else { +#if HDR10_SETMETADATA_ENABLE color_mdata.dynamicMetaDataValid = true; color_mdata.dynamicMetaDataLen = payload_len; memcpy(color_mdata.dynamicMetaDataPayload, userdata_payload->data, payload_len); DEBUG_PRINT_HIGH("Copied %u bytes of HDR10+ extradata", payload_len); +#else + store_hevc_hdr10plusinfo(payload_len, userdata_payload); +#endif } } if (client_extradata & OMX_EXTNUSER_EXTRADATA) { @@ -11597,15 +11602,15 @@ bool omx_vdec::handle_extradata(OMX_BUFFERHEADERTYPE *p_buf_hdr) final_color_aspects.mMatrixCoeffs = ColorAspects::MatrixBT601_6; } get_preferred_hdr_info(final_hdr_info); - convert_color_aspects_to_metadata(final_color_aspects, color_mdata); +#if HDR10_SETMETADATA_ENABLE convert_hdr_info_to_metadata(final_hdr_info, color_mdata); -#if VP9HDR10PLUS_SETMETADATA_ENABLE convert_hdr10plusinfo_to_metadata(p_buf_hdr->pMarkData, color_mdata); remove_hdr10plusinfo_using_cookie(p_buf_hdr->pMarkData); -#endif + convert_color_aspects_to_metadata(final_color_aspects, color_mdata); print_debug_hdr_color_info_mdata(&color_mdata); print_debug_hdr10plus_metadata(color_mdata); set_colormetadata_in_handle(&color_mdata, buf_index); +#endif } } @@ -13165,7 +13170,7 @@ bool omx_vdec::prefetch_buffers(unsigned long prefetch_count, return rc; } -bool omx_vdec::store_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata) +bool omx_vdec::store_vp9_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata) { struct hdr10plusInfo metadata; @@ -13214,6 +13219,44 @@ bool omx_vdec::store_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata) return true; } +bool omx_vdec::store_hevc_hdr10plusinfo(uint32_t payload_size, + msm_vidc_stream_userdata_payload *hdr10plusdata) +{ + struct hdr10plusInfo metadata; + + if (!hdr10plusdata) { + DEBUG_PRINT_ERROR("hdr10plus info not present"); + return false; + } + + if (payload_size > MAX_HDR10PLUSINFO_SIZE || + payload_size < 1) { + DEBUG_PRINT_ERROR("Invalid hdr10plus metadata size %u", payload_size); + return false; + } + + if (output_capability != V4L2_PIX_FMT_HEVC) { + DEBUG_PRINT_ERROR("msm_vidc_stream_userdata_payload is not supported for %d codec", + output_capability); + return false; + } + + memset(&metadata, 0, sizeof(struct hdr10plusInfo)); + metadata.nParamSizeUsed = payload_size; + memcpy(metadata.payload, hdr10plusdata->data , payload_size); + metadata.is_new = true; + if (m_etb_count) { + metadata.timestamp = m_etb_timestamp + 1; + } + + pthread_mutex_lock(&m_hdr10pluslock); + DEBUG_PRINT_LOW("add hevc hdr10plus info to the list with size %u", payload_size); + m_hdr10pluslist.push_back(metadata); + pthread_mutex_unlock(&m_hdr10pluslock); + + return true; +} + void omx_vdec::update_hdr10plusinfo_cookie_using_timestamp(OMX_PTR markdata, OMX_TICKS timestamp) { std::list<hdr10plusInfo>::reverse_iterator iter; @@ -13221,7 +13264,8 @@ void omx_vdec::update_hdr10plusinfo_cookie_using_timestamp(OMX_PTR markdata, OMX unsigned int cookie = (unsigned int)(unsigned long)markdata; bool is_list_empty = false; - if (output_capability != V4L2_PIX_FMT_VP9) + if (output_capability != V4L2_PIX_FMT_VP9 && + output_capability != V4L2_PIX_FMT_HEVC) return; pthread_mutex_lock(&m_hdr10pluslock); @@ -13263,7 +13307,8 @@ void omx_vdec::convert_hdr10plusinfo_to_metadata(OMX_PTR markdata, ColorMetaData unsigned int cookie = (unsigned int)(unsigned long)markdata; bool is_list_empty = false; - if (output_capability != V4L2_PIX_FMT_VP9) + if (output_capability != V4L2_PIX_FMT_VP9 && + output_capability != V4L2_PIX_FMT_HEVC) return; pthread_mutex_lock(&m_hdr10pluslock); @@ -13298,7 +13343,8 @@ void omx_vdec::remove_hdr10plusinfo_using_cookie(OMX_PTR markdata) unsigned int cookie = (unsigned int)(unsigned long)markdata; bool is_list_empty = false; - if (output_capability != V4L2_PIX_FMT_VP9) + if (output_capability != V4L2_PIX_FMT_VP9 && + output_capability != V4L2_PIX_FMT_HEVC) return; pthread_mutex_lock(&m_hdr10pluslock); @@ -13327,7 +13373,8 @@ void omx_vdec::clear_hdr10plusinfo() { bool is_list_empty = false; - if (output_capability != V4L2_PIX_FMT_VP9) + if (output_capability != V4L2_PIX_FMT_VP9 && + output_capability != V4L2_PIX_FMT_HEVC) return; pthread_mutex_lock(&m_hdr10pluslock); @@ -13349,7 +13396,8 @@ void omx_vdec::get_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata) std::list<hdr10plusInfo>::iterator iter; bool is_list_empty = false; - if (output_capability != V4L2_PIX_FMT_VP9) + if (output_capability != V4L2_PIX_FMT_VP9 && + output_capability != V4L2_PIX_FMT_HEVC) return; pthread_mutex_lock(&m_hdr10pluslock); @@ -13378,6 +13426,17 @@ void omx_vdec::get_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata) pthread_mutex_unlock(&m_hdr10pluslock); } +void omx_vdec::print_hdr10plusinfo(DescribeHDR10PlusInfoParams *hdr10plusdata) +{ + DEBUG_PRINT_LOW("HDR10+ frameworks path valid data length: %d", hdr10plusdata->nParamSizeUsed); + for (uint32_t i = 0 ; i < hdr10plusdata->nParamSizeUsed && i+3 < 1024; i=i+4) { + DEBUG_PRINT_LOW("HDR10+ mdata: %02X %02X %02X %02X", hdr10plusdata->nValue[i], + hdr10plusdata->nValue[i+1], + hdr10plusdata->nValue[i+2], + hdr10plusdata->nValue[i+3]); + } +} + // No code beyond this ! // inline import of vendor-extensions implementation diff --git a/mm-video-v4l2/vidc/venc/Android.mk b/mm-video-v4l2/vidc/venc/Android.mk index d6f0edeb..de46005b 100644 --- a/mm-video-v4l2/vidc/venc/Android.mk +++ b/mm-video-v4l2/vidc/venc/Android.mk @@ -1,5 +1,8 @@ LOCAL_PATH := $(call my-dir) +LIBION_HEADER_PATH_WRAPPER := $(QC_OPEN_PATH)/core-utils/build/libion_header_paths/libion_path.mk + include $(CLEAR_VARS) +include $(LIBION_HEADER_PATH_WRAPPER) # --------------------------------------------------------------------------------- # Common definitons @@ -64,8 +67,7 @@ endif # Common Includes libmm-venc-inc := $(LOCAL_PATH)/inc -libmm-venc-inc += $(TOP)/core/libion/include -libmm-venc-inc += $(TOP)/system/memory/libion/kernel-headers +libmm-venc-inc += $(LIBION_HEADER_PATHS) libmm-venc-inc += $(QCOM_MEDIA_ROOT)/mm-video-v4l2/vidc/common/inc libmm-venc-inc += $(QCOM_MEDIA_ROOT)/mm-core/inc libmm-venc-inc += $(QCOM_MEDIA_ROOT)/libstagefrighthw |