Home | History | Annotate | Download | only in venc
      1 LOCAL_PATH := $(call my-dir)
      2 include $(CLEAR_VARS)
      3 
      4 # ---------------------------------------------------------------------------------
      5 # 				Common definitons
      6 # ---------------------------------------------------------------------------------
      7 
      8 libmm-venc-def := -g -O3 -Dlrintf=_ffix_r
      9 libmm-venc-def += -D__align=__alignx
     10 libmm-venc-def += -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
     11 libmm-venc-def += -DT_ARM
     12 libmm-venc-def += -Dinline=__inline
     13 libmm-venc-def += -D_ANDROID_
     14 libmm-venc-def += -UENABLE_DEBUG_LOW
     15 libmm-venc-def += -UENABLE_DEBUG_HIGH
     16 libmm-venc-def += -DENABLE_DEBUG_ERROR
     17 libmm-venc-def += -UINPUT_BUFFER_LOG
     18 libmm-venc-def += -UOUTPUT_BUFFER_LOG
     19 libmm-venc-def += -USINGLE_ENCODER_INSTANCE
     20 libmm-venc-def += -Werror
     21 libmm-venc-def += -D_ANDROID_ICS_
     22 libmm-venc-def += -D_MSM8974_
     23 
     24 TARGETS_THAT_USE_FLAG_MSM8226 := msm8226 msm8916 msm8909
     25 TARGETS_THAT_NEED_SW_VENC_MPEG4 := msm8909
     26 TARGETS_THAT_NEED_SW_VENC_HEVC := msm8992
     27 
     28 ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
     29 libmm-venc-def += -DMAX_RES_720P
     30 libmm-venc-def += -D_MSM8610_
     31 else
     32 ifeq ($(TARGET_BOARD_PLATFORM),msm8226)
     33 libmm-venc-def += -DMAX_RES_1080P
     34 else
     35 libmm-venc-def += -DMAX_RES_1080P
     36 libmm-venc-def += -DMAX_RES_1080P_EBI
     37 endif
     38 endif
     39 
     40 ifeq ($(TARGET_BOARD_PLATFORM),msm8996)
     41 libmm-venc-def += -D_UBWC_
     42 endif
     43 
     44 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_USE_FLAG_MSM8226)),true)
     45 libmm-venc-def += -D_MSM8226_
     46 endif
     47 
     48 ifeq ($(TARGET_USES_ION),true)
     49 libmm-venc-def += -DUSE_ION
     50 endif
     51 
     52 ifeq ($(call is-board-platform-in-list, $(MASTER_SIDE_CP_TARGET_LIST)),true)
     53 libmm-venc-def += -DMASTER_SIDE_CP
     54 endif
     55 
     56 # Common Includes
     57 libmm-venc-inc      := $(LOCAL_PATH)/inc
     58 libmm-venc-inc      += $(TOP)/hardware/qcom/media/msm8996/mm-video-v4l2/vidc/common/inc
     59 libmm-venc-inc      += hardware/qcom/media/msm8996/mm-core/inc
     60 libmm-venc-inc      += hardware/qcom/media/msm8996/libstagefrighthw
     61 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/qcom/display
     62 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/adreno
     63 libmm-venc-inc      += frameworks/native/include/media/hardware
     64 libmm-venc-inc      += frameworks/native/include/media/openmax
     65 libmm-venc-inc      += hardware/qcom/media/msm8996/libc2dcolorconvert
     66 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/libvqzip
     67 libmm-venc-inc      += frameworks/av/include/media/stagefright
     68 ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
     69 libmm-venc-inc      += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
     70 endif
     71 
     72 # Common Dependencies
     73 ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
     74 libmm-venc-add-dep  := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
     75 endif
     76 
     77 # ---------------------------------------------------------------------------------
     78 # 			Make the Shared library (libOmxVenc)
     79 # ---------------------------------------------------------------------------------
     80 
     81 include $(CLEAR_VARS)
     82 
     83 LOCAL_MODULE                    := libOmxVenc
     84 LOCAL_MODULE_TAGS               := optional
     85 LOCAL_PROPRIETARY_MODULE        := true
     86 LOCAL_CFLAGS                    := $(libmm-venc-def)
     87 LOCAL_C_INCLUDES                := $(libmm-venc-inc)
     88 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
     89 
     90 LOCAL_PRELINK_MODULE      := false
     91 LOCAL_SHARED_LIBRARIES    := liblog libutils libbinder libcutils \
     92                              libc2dcolorconvert libdl
     93 LOCAL_SHARED_LIBRARIES    += libqdMetaData
     94 LOCAL_HEADER_LIBRARIES    := copybit_headers gralloc_headers media_plugin_headers
     95 LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
     96 
     97 LOCAL_SRC_FILES   := src/omx_video_base.cpp
     98 LOCAL_SRC_FILES   += src/omx_video_encoder.cpp
     99 LOCAL_SRC_FILES   += src/video_encoder_device_v4l2.cpp
    100 
    101 include $(BUILD_SHARED_LIBRARY)
    102 
    103 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VENC_MPEG4)),true)
    104 # ---------------------------------------------------------------------------------
    105 # 			Make the Shared library (libOmxSwVencMpeg4)
    106 # ---------------------------------------------------------------------------------
    107 
    108 include $(CLEAR_VARS)
    109 
    110 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/mm-video/swvenc
    111 
    112 LOCAL_MODULE                    := libOmxSwVencMpeg4
    113 
    114 LOCAL_MODULE_TAGS               := optional
    115 LOCAL_PROPRIETARY_MODULE        := true
    116 LOCAL_CFLAGS                    := $(libmm-venc-def)
    117 LOCAL_C_INCLUDES                := $(libmm-venc-inc)
    118 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
    119 
    120 LOCAL_PRELINK_MODULE      := false
    121 LOCAL_SHARED_LIBRARIES    := liblog libutils libbinder libcutils \
    122                              libc2dcolorconvert libdl
    123 LOCAL_SHARED_LIBRARIES    += libMpeg4SwEncoder
    124 LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
    125 
    126 LOCAL_SRC_FILES   := src/omx_video_base.cpp
    127 LOCAL_SRC_FILES   += src/omx_swvenc_mpeg4.cpp
    128 
    129 include $(BUILD_SHARED_LIBRARY)
    130 endif
    131 
    132 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VENC_HEVC)),true)
    133 # ---------------------------------------------------------------------------------
    134 #                            Make the Shared library (libOmxSwVenc)
    135 # ---------------------------------------------------------------------------------
    136 include $(CLEAR_VARS)
    137 
    138 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/mm-video/swVenc
    139 
    140 LOCAL_MODULE                    := libOmxSwVencHevc
    141 LOCAL_MODULE_TAGS               := optional
    142 LOCAL_PROPRIETARY_MODULE        := true
    143 LOCAL_CFLAGS                    := $(libmm-venc-def)
    144 LOCAL_C_INCLUDES                := $(libmm-venc-inc)
    145 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
    146 
    147 LOCAL_PRELINK_MODULE      := false
    148 LOCAL_SHARED_LIBRARIES    := liblog libutils libbinder libcutils \
    149                              libc2dcolorconvert libdl
    150 LOCAL_SHARED_LIBRARIES    += libHevcSwEncoder
    151 LOCAL_HEADER_LIBRARIES    := media_plugin_headers
    152 LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
    153 
    154 LOCAL_SRC_FILES   := src/omx_video_base.cpp
    155 LOCAL_SRC_FILES   += src/omx_swvenc_hevc.cpp
    156 
    157 include $(BUILD_SHARED_LIBRARY)
    158 endif
    159 
    160 # ---------------------------------------------------------------------------------
    161 # 					END
    162 # ---------------------------------------------------------------------------------
    163