1LOCAL_PATH := $(call my-dir) 2include $(CLEAR_VARS) 3 4AAC_LIBRARY = fraunhofer 5 6LOCAL_SRC_FILES := basic_op/basicop2.c basic_op/oper_32b.c 7 8LOCAL_SRC_FILES += \ 9 AACEncoder.cpp \ 10 src/aac_rom.c \ 11 src/aacenc.c \ 12 src/aacenc_core.c \ 13 src/adj_thr.c \ 14 src/band_nrg.c \ 15 src/bit_cnt.c \ 16 src/bitbuffer.c \ 17 src/bitenc.c \ 18 src/block_switch.c \ 19 src/channel_map.c \ 20 src/dyn_bits.c \ 21 src/grp_data.c \ 22 src/interface.c \ 23 src/line_pe.c \ 24 src/ms_stereo.c \ 25 src/pre_echo_control.c \ 26 src/psy_configuration.c \ 27 src/psy_main.c \ 28 src/qc_main.c \ 29 src/quantize.c \ 30 src/sf_estim.c \ 31 src/spreading.c \ 32 src/stat_bits.c \ 33 src/tns.c \ 34 src/transform.c \ 35 src/memalign.c 36 37ifneq ($(ARCH_ARM_HAVE_NEON),true) 38 LOCAL_SRC_FILES_arm := \ 39 src/asm/ARMV5E/AutoCorrelation_v5.s \ 40 src/asm/ARMV5E/band_nrg_v5.s \ 41 src/asm/ARMV5E/CalcWindowEnergy_v5.s \ 42 src/asm/ARMV5E/PrePostMDCT_v5.s \ 43 src/asm/ARMV5E/R4R8First_v5.s \ 44 src/asm/ARMV5E/Radix4FFT_v5.s 45 46 LOCAL_CFLAGS_arm := -DARMV5E -DARM_INASM -DARMV5_INASM 47 LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/src/asm/ARMV5E 48else 49 LOCAL_SRC_FILES_arm := \ 50 src/asm/ARMV5E/AutoCorrelation_v5.s \ 51 src/asm/ARMV5E/band_nrg_v5.s \ 52 src/asm/ARMV5E/CalcWindowEnergy_v5.s \ 53 src/asm/ARMV7/PrePostMDCT_v7.s \ 54 src/asm/ARMV7/R4R8First_v7.s \ 55 src/asm/ARMV7/Radix4FFT_v7.s 56 LOCAL_CFLAGS_arm := -DARMV5E -DARMV7Neon -DARM_INASM -DARMV5_INASM -DARMV6_INASM 57 LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/src/asm/ARMV5E 58 LOCAL_C_INCLUDES_arm += $(LOCAL_PATH)/src/asm/ARMV7 59endif 60 61LOCAL_MODULE := libstagefright_aacenc 62 63LOCAL_ARM_MODE := arm 64 65LOCAL_STATIC_LIBRARIES := 66 67# libstagefright links this static library, so it probably isn't appropriate to 68# link libstagefright. However, this library includes libstagefright headers, 69# and needs libbinder to be able to do so correctly. 70LOCAL_SHARED_LIBRARIES := libbinder 71 72LOCAL_C_INCLUDES := \ 73 frameworks/av/include \ 74 frameworks/av/media/libstagefright/include \ 75 frameworks/av/media/libstagefright/codecs/common/include \ 76 $(LOCAL_PATH)/src \ 77 $(LOCAL_PATH)/inc \ 78 $(LOCAL_PATH)/basic_op 79 80LOCAL_CFLAGS += -Werror 81LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow 82 83include $(BUILD_STATIC_LIBRARY) 84 85################################################################################ 86 87include $(CLEAR_VARS) 88 89ifeq ($(AAC_LIBRARY), fraunhofer) 90 91 include $(CLEAR_VARS) 92 93 LOCAL_SRC_FILES := \ 94 SoftAACEncoder2.cpp 95 96 LOCAL_C_INCLUDES := \ 97 frameworks/av/media/libstagefright/include \ 98 frameworks/native/include/media/openmax \ 99 external/aac/libAACenc/include \ 100 external/aac/libFDK/include \ 101 external/aac/libMpegTPEnc/include \ 102 external/aac/libSBRenc/include \ 103 external/aac/libSYS/include 104 105 LOCAL_CFLAGS := 106 107 LOCAL_CFLAGS += -Werror 108 LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi 109 LOCAL_SANITIZE_DIAG := cfi 110 111 LOCAL_STATIC_LIBRARIES := libFraunhoferAAC 112 113 LOCAL_SHARED_LIBRARIES := \ 114 libstagefright_omx libstagefright_foundation libutils liblog 115 116 LOCAL_MODULE := libstagefright_soft_aacenc 117 LOCAL_MODULE_TAGS := optional 118 119 include $(BUILD_SHARED_LIBRARY) 120 121else # visualon 122 123 LOCAL_SRC_FILES := \ 124 SoftAACEncoder.cpp 125 126 LOCAL_C_INCLUDES := \ 127 frameworks/av/media/libstagefright/include \ 128 frameworks/av/media/libstagefright/codecs/common/include \ 129 frameworks/native/include/media/openmax 130 131 LOCAL_CFLAGS := -DOSCL_IMPORT_REF= 132 133 LOCAL_CFLAGS += -Werror 134 LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi 135 LOCAL_SANITIZE_DIAG := cfi 136 137 LOCAL_STATIC_LIBRARIES := \ 138 libstagefright_aacenc 139 140 LOCAL_SHARED_LIBRARIES := \ 141 libstagefright_omx libstagefright_foundation libutils liblog \ 142 libstagefright_enc_common 143 144 LOCAL_MODULE := libstagefright_soft_aacenc 145 LOCAL_MODULE_TAGS := optional 146 147 include $(BUILD_SHARED_LIBRARY) 148 149endif # $(AAC_LIBRARY) 150