1LOCAL_PATH:= $(call my-dir)
2include $(CLEAR_VARS)
3
4LOCAL_SRC_FILES := \
5	src/pvmp3_normalize.cpp \
6 	src/pvmp3_alias_reduction.cpp \
7 	src/pvmp3_crc.cpp \
8 	src/pvmp3_decode_header.cpp \
9 	src/pvmp3_decode_huff_cw.cpp \
10 	src/pvmp3_getbits.cpp \
11 	src/pvmp3_dequantize_sample.cpp \
12 	src/pvmp3_framedecoder.cpp \
13 	src/pvmp3_get_main_data_size.cpp \
14 	src/pvmp3_get_side_info.cpp \
15 	src/pvmp3_get_scale_factors.cpp \
16 	src/pvmp3_mpeg2_get_scale_data.cpp \
17 	src/pvmp3_mpeg2_get_scale_factors.cpp \
18 	src/pvmp3_mpeg2_stereo_proc.cpp \
19 	src/pvmp3_huffman_decoding.cpp \
20 	src/pvmp3_huffman_parsing.cpp \
21 	src/pvmp3_tables.cpp \
22 	src/pvmp3_imdct_synth.cpp \
23 	src/pvmp3_mdct_6.cpp \
24 	src/pvmp3_dct_6.cpp \
25 	src/pvmp3_poly_phase_synthesis.cpp \
26 	src/pvmp3_equalizer.cpp \
27 	src/pvmp3_seek_synch.cpp \
28 	src/pvmp3_stereo_proc.cpp \
29 	src/pvmp3_reorder.cpp \
30
31LOCAL_SRC_FILES_arm += \
32	src/asm/pvmp3_polyphase_filter_window_gcc.s \
33 	src/asm/pvmp3_mdct_18_gcc.s \
34 	src/asm/pvmp3_dct_9_gcc.s \
35	src/asm/pvmp3_dct_16_gcc.s
36LOCAL_SRC_FILES_other_archs := \
37 	src/pvmp3_polyphase_filter_window.cpp \
38 	src/pvmp3_mdct_18.cpp \
39 	src/pvmp3_dct_9.cpp \
40 	src/pvmp3_dct_16.cpp
41
42LOCAL_SRC_FILES_arm64  := $(LOCAL_SRC_FILES_other_archs)
43LOCAL_SRC_FILES_mips   := $(LOCAL_SRC_FILES_other_archs)
44LOCAL_SRC_FILES_mips64 := $(LOCAL_SRC_FILES_other_archs)
45LOCAL_SRC_FILES_x86    := $(LOCAL_SRC_FILES_other_archs)
46LOCAL_SRC_FILES_x86_64 := $(LOCAL_SRC_FILES_other_archs)
47
48LOCAL_C_INCLUDES := \
49        frameworks/av/media/libstagefright/include \
50        $(LOCAL_PATH)/src \
51        $(LOCAL_PATH)/include
52
53LOCAL_CFLAGS := \
54        -D"OSCL_UNUSED_ARG(x)=(void)(x)"
55
56LOCAL_CFLAGS += -Werror
57LOCAL_SANITIZE := signed-integer-overflow
58
59LOCAL_MODULE := libstagefright_mp3dec
60
61LOCAL_ARM_MODE := arm
62
63include $(BUILD_STATIC_LIBRARY)
64
65################################################################################
66
67include $(CLEAR_VARS)
68
69LOCAL_SRC_FILES := \
70        SoftMP3.cpp
71
72LOCAL_C_INCLUDES := \
73        frameworks/av/media/libstagefright/include \
74        frameworks/native/include/media/openmax \
75        $(LOCAL_PATH)/src \
76        $(LOCAL_PATH)/include
77
78LOCAL_CFLAGS += -Werror
79LOCAL_SANITIZE := signed-integer-overflow cfi
80LOCAL_SANITIZE_DIAG := cfi
81
82LOCAL_SHARED_LIBRARIES := \
83        libmedia libstagefright_omx libstagefright_foundation libutils liblog
84
85LOCAL_STATIC_LIBRARIES := \
86        libstagefright_mp3dec
87
88LOCAL_MODULE := libstagefright_soft_mp3dec
89LOCAL_MODULE_TAGS := optional
90
91include $(BUILD_SHARED_LIBRARY)
92
93################################################################################
94include $(CLEAR_VARS)
95LOCAL_SRC_FILES := \
96        test/mp3dec_test.cpp  \
97        test/mp3reader.cpp
98
99LOCAL_C_INCLUDES := \
100        $(LOCAL_PATH)/src \
101        $(LOCAL_PATH)/include \
102        $(LOCAL_PATH)/test/include \
103        $(call include-path-for, audio-utils)
104
105LOCAL_SANITIZE := signed-integer-overflow
106LOCAL_STATIC_LIBRARIES := \
107        libstagefright_mp3dec libsndfile
108
109LOCAL_SHARED_LIBRARIES := libaudioutils
110
111LOCAL_MODULE := libstagefright_mp3dec_test
112LOCAL_MODULE_TAGS := tests
113
114include $(BUILD_EXECUTABLE)
115