1956c553ab0ce72f8074ad0fda2ffd66a0305700cJames DongLOCAL_PATH := $(call my-dir)
2956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Donginclude $(CLEAR_VARS)
3b676a05348e4c516fa8b57e33b10548e6142c3f8Mans Rullgard
4956c553ab0ce72f8074ad0fda2ffd66a0305700cJames DongLOCAL_SRC_FILES := \
5956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/autocorr.c \
6956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/az_isp.c \
7956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/bits.c \
8956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/c2t64fx.c \
9956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/c4t64fx.c \
10956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/convolve.c \
11956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/cor_h_x.c \
12956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/decim54.c \
13956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/deemph.c \
14956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/dtx.c \
15956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/g_pitch.c \
16956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/gpclip.c \
17956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/homing.c \
18956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/hp400.c \
19956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/hp50.c \
20956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/hp6k.c \
21956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/hp_wsp.c \
22956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/int_lpc.c \
23956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/isp_az.c \
24956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/isp_isf.c \
25956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/lag_wind.c \
26956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/levinson.c \
27956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/log2.c \
28956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/lp_dec2.c \
29956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/math_op.c \
30956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/oper_32b.c \
31956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/p_med_ol.c \
32956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/pit_shrp.c \
33956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/pitch_f4.c \
34956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/pred_lt4.c \
35956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/preemph.c \
36956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/q_gain2.c \
37956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/q_pulse.c \
38956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/qisf_ns.c \
39956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/qpisf_2s.c \
40956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/random.c \
41956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/residu.c \
42956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/scale.c \
43956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/stream.c \
44956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/syn_filt.c \
45956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/updt_tar.c \
46956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/util.c \
47956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/voAMRWBEnc.c \
48956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/voicefac.c \
49956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/wb_vad.c \
50956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/weight_a.c \
51956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	src/mem_align.c
52956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
532339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liuifneq ($(ARCH_ARM_HAVE_NEON),true)
542339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu    LOCAL_SRC_FILES_arm := \
552339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/convolve_opt.s \
562339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/cor_h_vec_opt.s \
572339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/Deemph_32_opt.s \
582339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/Dot_p_opt.s \
592339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/Filt_6k_7k_opt.s \
602339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/Norm_Corr_opt.s \
612339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/pred_lt4_1_opt.s \
622339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/residu_asm_opt.s \
632339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/scale_sig_opt.s \
642339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/Syn_filt_32_opt.s \
652339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV5E/syn_filt_opt.s
662339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu
672339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu    LOCAL_CFLAGS_arm := -DARM -DASM_OPT
682339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu    LOCAL_C_INCLUDES_arm = $(LOCAL_PATH)/src/asm/ARMV5E
692339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liuelse
702339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu    LOCAL_SRC_FILES_arm := \
712339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/convolve_neon.s \
722339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/cor_h_vec_neon.s \
732339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/Deemph_32_neon.s \
742339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/Dot_p_neon.s \
752339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/Filt_6k_7k_neon.s \
762339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/Norm_Corr_neon.s \
772339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/pred_lt4_1_neon.s \
782339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/residu_asm_neon.s \
792339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/scale_sig_neon.s \
802339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/Syn_filt_32_neon.s \
812339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu        src/asm/ARMV7/syn_filt_neon.s
822339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu
831708655d68ca9b9800461fe90eed04e38bcfae20Marco Nelissen    # don't actually generate neon instructions, see bug 26932980
841708655d68ca9b9800461fe90eed04e38bcfae20Marco Nelissen    LOCAL_CFLAGS_arm := -DARM -DARMV7 -DASM_OPT -mfpu=vfpv3
852339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu    LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/src/asm/ARMV5E
862339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu    LOCAL_C_INCLUDES_arm += $(LOCAL_PATH)/src/asm/ARMV7
87956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dongendif
88956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
89956c553ab0ce72f8074ad0fda2ffd66a0305700cJames DongLOCAL_MODULE := libstagefright_amrwbenc
90956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
91956c553ab0ce72f8074ad0fda2ffd66a0305700cJames DongLOCAL_ARM_MODE := arm
92956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
93b676a05348e4c516fa8b57e33b10548e6142c3f8Mans RullgardLOCAL_STATIC_LIBRARIES :=
94956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
95956c553ab0ce72f8074ad0fda2ffd66a0305700cJames DongLOCAL_SHARED_LIBRARIES :=
96956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
97956c553ab0ce72f8074ad0fda2ffd66a0305700cJames DongLOCAL_C_INCLUDES := \
98559bf2836f5da25b75bfb229fec0d20d540ee426James Dong	frameworks/av/include \
99559bf2836f5da25b75bfb229fec0d20d540ee426James Dong	frameworks/av/media/libstagefright/include \
100559bf2836f5da25b75bfb229fec0d20d540ee426James Dong	frameworks/av/media/libstagefright/codecs/common/include \
101956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	$(LOCAL_PATH)/src \
102956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong	$(LOCAL_PATH)/inc
103956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
10484333e0475bc911adc16417f4ca327c975cf6c36Andreas HuberLOCAL_CFLAGS += -Werror
1054a80c9a616ccc2d1d27d66873e75aedd19fc386dDan AustinLOCAL_CLANG := true
1061708655d68ca9b9800461fe90eed04e38bcfae20Marco Nelissen#LOCAL_SANITIZE := signed-integer-overflow
10784333e0475bc911adc16417f4ca327c975cf6c36Andreas Huber
108956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Donginclude $(BUILD_STATIC_LIBRARY)
109956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
11083f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber################################################################################
111956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
11283f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huberinclude $(CLEAR_VARS)
11383f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber
11483f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas HuberLOCAL_SRC_FILES := \
11583f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber        SoftAMRWBEncoder.cpp
11683f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber
11783f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas HuberLOCAL_C_INCLUDES := \
118559bf2836f5da25b75bfb229fec0d20d540ee426James Dong	frameworks/av/media/libstagefright/include \
119559bf2836f5da25b75bfb229fec0d20d540ee426James Dong	frameworks/av/media/libstagefright/codecs/common/include \
1206c6b4d0d2b98a7ceee8b697daaf611f8df3254fbJames Dong	frameworks/native/include/media/openmax
12183f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber
12284333e0475bc911adc16417f4ca327c975cf6c36Andreas HuberLOCAL_CFLAGS += -Werror
1234a80c9a616ccc2d1d27d66873e75aedd19fc386dDan AustinLOCAL_CLANG := true
12409baae86eb0cd947a1059401723928d0f1aadfc4Eric LaurentLOCAL_SANITIZE := signed-integer-overflow
12584333e0475bc911adc16417f4ca327c975cf6c36Andreas Huber
12683f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas HuberLOCAL_STATIC_LIBRARIES := \
12783f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber        libstagefright_amrwbenc
12883f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber
12983f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas HuberLOCAL_SHARED_LIBRARIES := \
130da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6Ying Wang        libstagefright_omx libstagefright_foundation libutils liblog \
13183f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber        libstagefright_enc_common
13283f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber
13383f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas HuberLOCAL_MODULE := libstagefright_soft_amrwbenc
13483f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas HuberLOCAL_MODULE_TAGS := optional
13583f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huber
13683f70f4472e9b0cacc5d372eddfcef4b02662d10Andreas Huberinclude $(BUILD_SHARED_LIBRARY)
1373c6813df08299433a32e56e90e2820b25346d07aAshok Bhat
1383c6813df08299433a32e56e90e2820b25346d07aAshok Bhat################################################################################
1393c6813df08299433a32e56e90e2820b25346d07aAshok Bhatinclude $(call all-makefiles-under,$(LOCAL_PATH))
140