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_CFLAGS                    := $(libmm-venc-def)
     86 LOCAL_C_INCLUDES                := $(libmm-venc-inc)
     87 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
     88 
     89 LOCAL_PRELINK_MODULE      := false
     90 LOCAL_SHARED_LIBRARIES    := liblog libutils libbinder libcutils \
     91                              libc2dcolorconvert libdl libgui
     92 LOCAL_SHARED_LIBRARIES    += libqdMetaData
     93 LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
     94 
     95 LOCAL_SRC_FILES   := src/omx_video_base.cpp
     96 LOCAL_SRC_FILES   += src/omx_video_encoder.cpp
     97 LOCAL_SRC_FILES   += src/video_encoder_device_v4l2.cpp
     98 
     99 include $(BUILD_SHARED_LIBRARY)
    100 
    101 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VENC_MPEG4)),true)
    102 # ---------------------------------------------------------------------------------
    103 # 			Make the Shared library (libOmxSwVencMpeg4)
    104 # ---------------------------------------------------------------------------------
    105 
    106 include $(CLEAR_VARS)
    107 
    108 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/mm-video/swvenc
    109 
    110 LOCAL_MODULE                    := libOmxSwVencMpeg4
    111 
    112 LOCAL_MODULE_TAGS               := optional
    113 LOCAL_CFLAGS                    := $(libmm-venc-def)
    114 LOCAL_C_INCLUDES                := $(libmm-venc-inc)
    115 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
    116 
    117 LOCAL_PRELINK_MODULE      := false
    118 LOCAL_SHARED_LIBRARIES    := liblog libutils libbinder libcutils \
    119                              libc2dcolorconvert libdl libgui
    120 LOCAL_SHARED_LIBRARIES    += libMpeg4SwEncoder
    121 LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
    122 
    123 LOCAL_SRC_FILES   := src/omx_video_base.cpp
    124 LOCAL_SRC_FILES   += src/omx_swvenc_mpeg4.cpp
    125 
    126 include $(BUILD_SHARED_LIBRARY)
    127 endif
    128 
    129 ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VENC_HEVC)),true)
    130 # ---------------------------------------------------------------------------------
    131 #                            Make the Shared library (libOmxSwVenc)
    132 # ---------------------------------------------------------------------------------
    133 include $(CLEAR_VARS)
    134 
    135 libmm-venc-inc      += $(TARGET_OUT_HEADERS)/mm-video/swVenc
    136 
    137 LOCAL_MODULE                    := libOmxSwVencHevc
    138 LOCAL_MODULE_TAGS               := optional
    139 LOCAL_CFLAGS                    := $(libmm-venc-def)
    140 LOCAL_C_INCLUDES                := $(libmm-venc-inc)
    141 LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
    142 
    143 LOCAL_PRELINK_MODULE      := false
    144 LOCAL_SHARED_LIBRARIES    := liblog libutils libbinder libcutils \
    145                              libc2dcolorconvert libdl libgui
    146 LOCAL_SHARED_LIBRARIES    += libHevcSwEncoder
    147 LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
    148 
    149 LOCAL_SRC_FILES   := src/omx_video_base.cpp
    150 LOCAL_SRC_FILES   += src/omx_swvenc_hevc.cpp
    151 
    152 include $(BUILD_SHARED_LIBRARY)
    153 endif
    154 
    155 # ---------------------------------------------------------------------------------
    156 # 					END
    157 # ---------------------------------------------------------------------------------
    158