Home | History | Annotate | Download | only in vdec
      1 LOCAL_PATH := $(call my-dir)
      2 include $(CLEAR_VARS)
      3 
      4 # ---------------------------------------------------------------------------------
      5 # 				Common definitons
      6 # ---------------------------------------------------------------------------------
      7 
      8 libmm-vdec-def := -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
      9 libmm-vdec-def += -D__align=__alignx
     10 libmm-vdec-def += -Dinline=__inline
     11 libmm-vdec-def += -g -O3
     12 libmm-vdec-def += -DIMAGE_APPS_PROC
     13 libmm-vdec-def += -D_ANDROID_
     14 libmm-vdec-def += -DCDECL
     15 libmm-vdec-def += -DT_ARM
     16 libmm-vdec-def += -DNO_ARM_CLZ
     17 libmm-vdec-def += -UENABLE_DEBUG_LOW
     18 libmm-vdec-def += -UENABLE_DEBUG_HIGH
     19 libmm-vdec-def += -DENABLE_DEBUG_ERROR
     20 libmm-vdec-def += -UINPUT_BUFFER_LOG
     21 libmm-vdec-def += -UOUTPUT_BUFFER_LOG
     22 libmm-vdec-def += -Wno-parentheses
     23 libmm-vdec-def += -D_ANDROID_ICS_
     24 libmm-vdec-def += -D_MSM8974_
     25 libmm-vdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
     26 libmm-vdec-def += -DMAX_RES_1080P
     27 libmm-vdec-def += -DMAX_RES_1080P_EBI
     28 
     29 TARGETS_THAT_USE_HEVC_ADSP_HEAP := msm8226 msm8974
     30 TARGETS_THAT_HAVE_VENUS_HEVC := apq8084 msm8994 msm8996
     31 TARGETS_THAT_SUPPORT_UBWC := msm8996 msm8953 msm8998 sdm660
     32 TARGETS_THAT_NEED_SW_VDEC := msm8937 msm8909
     33 
     34 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_USE_HEVC_ADSP_HEAP)),true)
     35 libmm-vdec-def += -D_HEVC_USE_ADSP_HEAP_
     36 endif
     37 
     38 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_HAVE_VENUS_HEVC)),true)
     39 libmm-vdec-def += -DVENUS_HEVC
     40 endif
     41 
     42 ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
     43 libmm-vdec-def += -DSMOOTH_STREAMING_DISABLED
     44 libmm-vdec-def += -DH264_PROFILE_LEVEL_CHECK
     45 endif
     46 
     47 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_SUPPORT_UBWC)),true)
     48 libmm-vdec-def += -D_UBWC_
     49 endif
     50 
     51 ifeq ($(TARGET_USES_ION),true)
     52 libmm-vdec-def += -DUSE_ION
     53 endif
     54 
     55 ifneq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 18 ))" )))
     56 libmm-vdec-def += -DANDROID_JELLYBEAN_MR1=1
     57 endif
     58 
     59 ifeq ($(call is-board-platform-in-list, $(MASTER_SIDE_CP_TARGET_LIST)),true)
     60 libmm-vdec-def += -DMASTER_SIDE_CP
     61 endif
     62 
     63 include $(CLEAR_VARS)
     64 
     65 # Common Includes
     66 libmm-vdec-inc          := $(LOCAL_PATH)/inc
     67 libmm-vdec-inc          += $(QCOM_MEDIA_ROOT)/mm-video-v4l2/vidc/common/inc
     68 libmm-vdec-inc          += $(QCOM_MEDIA_ROOT)/mm-core/inc
     69 libmm-vdec-inc          += $(TARGET_OUT_HEADERS)/qcom/display
     70 libmm-vdec-inc          += $(TARGET_OUT_HEADERS)/adreno
     71 libmm-vdec-inc          += $(TOP)/frameworks/native/include/media/openmax
     72 libmm-vdec-inc          += $(TOP)/frameworks/native/include/media/hardware
     73 libmm-vdec-inc          += $(TOP)/frameworks/native/libs/nativewindow/include
     74 libmm-vdec-inc          += $(TOP)/frameworks/native/libs/nativebase/include
     75 libmm-vdec-inc      	+= $(QCOM_MEDIA_ROOT)/libc2dcolorconvert
     76 libmm-vdec-inc      	+= $(TARGET_OUT_HEADERS)/mm-video/SwVdec
     77 libmm-vdec-inc      	+= $(TARGET_OUT_HEADERS)/mm-video/swvdec
     78 ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
     79 libmm-vdec-inc      	+= $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
     80 endif
     81 
     82 ifeq ($(PLATFORM_SDK_VERSION), 18)  #JB_MR2
     83 libmm-vdec-def += -DANDROID_JELLYBEAN_MR2=1
     84 libmm-vdec-inc += $(QCOM_MEDIA_ROOT)/libstagefrighthw
     85 endif
     86 
     87 ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
     88 # Common Dependencies
     89 libmm-vdec-add-dep := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
     90 endif
     91 
     92 ifeq ($(call is-platform-sdk-version-at-least, 19),true)
     93 # This feature is enabled for Android KK+
     94 libmm-vdec-def += -DADAPTIVE_PLAYBACK_SUPPORTED
     95 endif
     96 
     97 ifeq ($(call is-platform-sdk-version-at-least, 22),true)
     98 # This feature is enabled for Android LMR1
     99 libmm-vdec-def += -DFLEXYUV_SUPPORTED
    100 endif
    101 
    102 libmm-vdec-def += -DALLOCATE_OUTPUT_NATIVEHANDLE
    103 
    104 # ---------------------------------------------------------------------------------
    105 # 			Make the Shared library (libOmxVdec)
    106 # ---------------------------------------------------------------------------------
    107 
    108 include $(CLEAR_VARS)
    109 
    110 LOCAL_MODULE                    := libOmxVdec
    111 LOCAL_MODULE_TAGS               := optional
    112 LOCAL_VENDOR_MODULE             := true
    113 LOCAL_CFLAGS                    := $(libmm-vdec-def) -Werror
    114 LOCAL_C_INCLUDES                += $(libmm-vdec-inc)
    115 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-vdec-add-dep)
    116 LOCAL_HEADER_LIBRARIES          := \
    117     libnativebase_headers \
    118     libhardware_headers \
    119     media_plugin_headers \
    120 
    121 LOCAL_PRELINK_MODULE    := false
    122 LOCAL_SHARED_LIBRARIES  := liblog libcutils libdl libutils
    123 
    124 LOCAL_SHARED_LIBRARIES  += libqdMetaData
    125 
    126 LOCAL_SRC_FILES         := src/frameparser.cpp
    127 LOCAL_SRC_FILES         += src/h264_utils.cpp
    128 LOCAL_SRC_FILES         += src/ts_parser.cpp
    129 LOCAL_SRC_FILES         += src/mp4_utils.cpp
    130 LOCAL_SRC_FILES         += src/hevc_utils.cpp
    131 LOCAL_STATIC_LIBRARIES  := libOmxVidcCommon
    132 LOCAL_SRC_FILES         += src/omx_vdec_v4l2.cpp
    133 
    134 LOCAL_CFLAGS            += -Wno-error
    135 
    136 include $(BUILD_SHARED_LIBRARY)
    137 
    138 
    139 
    140 # ---------------------------------------------------------------------------------
    141 # 			Make the Shared library (libOmxSwVdec)
    142 # ---------------------------------------------------------------------------------
    143 
    144 include $(CLEAR_VARS)
    145 ifneq "$(wildcard $(QCPATH) )" ""
    146 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VDEC)),true)
    147 
    148 LOCAL_MODULE                  := libOmxSwVdec
    149 LOCAL_MODULE_TAGS             := optional
    150 LOCAL_VENDOR_MODULE           := true
    151 LOCAL_CFLAGS                  := $(libmm-vdec-def)
    152 LOCAL_C_INCLUDES              += $(libmm-vdec-inc)
    153 LOCAL_ADDITIONAL_DEPENDENCIES := $(libmm-vdec-add-dep)
    154 
    155 LOCAL_PRELINK_MODULE          := false
    156 LOCAL_SHARED_LIBRARIES        := liblog libcutils libutils
    157 LOCAL_SHARED_LIBRARIES        += libswvdec
    158 
    159 LOCAL_SRC_FILES               := src/omx_swvdec.cpp
    160 LOCAL_SRC_FILES               += src/omx_swvdec_utils.cpp
    161 
    162 include $(BUILD_SHARED_LIBRARY)
    163 endif
    164 endif
    165 
    166 # ---------------------------------------------------------------------------------
    167 #                END
    168 # ---------------------------------------------------------------------------------
    169