1d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLOCAL_PATH:= $(call my-dir)
2d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberinclude $(CLEAR_VARS)
3d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
4d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLOCAL_SRC_FILES := \
5d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber	src/pvmp3_normalize.cpp \
6d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_alias_reduction.cpp \
7d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_crc.cpp \
8d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_decode_header.cpp \
9d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_decode_huff_cw.cpp \
10d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_getbits.cpp \
11d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_dequantize_sample.cpp \
12d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_framedecoder.cpp \
13d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_get_main_data_size.cpp \
14d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_get_side_info.cpp \
15d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_get_scale_factors.cpp \
16d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_mpeg2_get_scale_data.cpp \
17d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_mpeg2_get_scale_factors.cpp \
18d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_mpeg2_stereo_proc.cpp \
19d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_huffman_decoding.cpp \
20d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_huffman_parsing.cpp \
21d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_tables.cpp \
22d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_imdct_synth.cpp \
23d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_mdct_6.cpp \
24d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_dct_6.cpp \
25d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_poly_phase_synthesis.cpp \
26d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_equalizer.cpp \
27d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_seek_synch.cpp \
28d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_stereo_proc.cpp \
29d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/pvmp3_reorder.cpp \
30d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
312339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_arm += \
32d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber	src/asm/pvmp3_polyphase_filter_window_gcc.s \
33d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/asm/pvmp3_mdct_18_gcc.s \
34d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 	src/asm/pvmp3_dct_9_gcc.s \
35d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber	src/asm/pvmp3_dct_16_gcc.s
362339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_other_archs := \
37c54176addef15699a518b69cd6bbd40ffc95e72eAndreas Huber 	src/pvmp3_polyphase_filter_window.cpp \
38c54176addef15699a518b69cd6bbd40ffc95e72eAndreas Huber 	src/pvmp3_mdct_18.cpp \
39c54176addef15699a518b69cd6bbd40ffc95e72eAndreas Huber 	src/pvmp3_dct_9.cpp \
40c54176addef15699a518b69cd6bbd40ffc95e72eAndreas Huber 	src/pvmp3_dct_16.cpp
412339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin Liu
422339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_arm64  := $(LOCAL_SRC_FILES_other_archs)
432339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_mips   := $(LOCAL_SRC_FILES_other_archs)
442339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_mips64 := $(LOCAL_SRC_FILES_other_archs)
452339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_x86    := $(LOCAL_SRC_FILES_other_archs)
462339dc7eb6f7d549cae931a16f16099ac3bed13bYongqin LiuLOCAL_SRC_FILES_x86_64 := $(LOCAL_SRC_FILES_other_archs)
47d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
48d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLOCAL_C_INCLUDES := \
49559bf2836f5da25b75bfb229fec0d20d540ee426James Dong        frameworks/av/media/libstagefright/include \
50d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        $(LOCAL_PATH)/src \
51d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        $(LOCAL_PATH)/include
52d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
53d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLOCAL_CFLAGS := \
54b3f9759c8c9437c45b9a34519ce2ea38a8314d4eAndreas Gampe        -D"OSCL_UNUSED_ARG(x)=(void)(x)"
55d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
5684333e0475bc911adc16417f4ca327c975cf6c36Andreas HuberLOCAL_CFLAGS += -Werror
571c38d8d16b6a44d64b3fb14d24f339971848c085Dan AustinLOCAL_CLANG := true
58d5ae360e883215b7862b1f8d318fe469940fe146Eino-Ville TalvalaLOCAL_SANITIZE := signed-integer-overflow
5984333e0475bc911adc16417f4ca327c975cf6c36Andreas Huber
60d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLOCAL_MODULE := libstagefright_mp3dec
61d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
62424c6cbfa75da5f4f889ab6517dfee4dd024ba2dJames WylderLOCAL_ARM_MODE := arm
63424c6cbfa75da5f4f889ab6517dfee4dd024ba2dJames Wylder
64d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberinclude $(BUILD_STATIC_LIBRARY)
65d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
66bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber################################################################################
67bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
68bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huberinclude $(CLEAR_VARS)
69bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
70bbba88cb1bdc34705d1477208990a06904c022e7Andreas HuberLOCAL_SRC_FILES := \
71bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber        SoftMP3.cpp
72bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
73bbba88cb1bdc34705d1477208990a06904c022e7Andreas HuberLOCAL_C_INCLUDES := \
74559bf2836f5da25b75bfb229fec0d20d540ee426James Dong        frameworks/av/media/libstagefright/include \
756c6b4d0d2b98a7ceee8b697daaf611f8df3254fbJames Dong        frameworks/native/include/media/openmax \
76bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber        $(LOCAL_PATH)/src \
77bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber        $(LOCAL_PATH)/include
78bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
7984333e0475bc911adc16417f4ca327c975cf6c36Andreas HuberLOCAL_CFLAGS += -Werror
801c38d8d16b6a44d64b3fb14d24f339971848c085Dan AustinLOCAL_CLANG := true
81d5ae360e883215b7862b1f8d318fe469940fe146Eino-Ville TalvalaLOCAL_SANITIZE := signed-integer-overflow
8284333e0475bc911adc16417f4ca327c975cf6c36Andreas Huber
83bbba88cb1bdc34705d1477208990a06904c022e7Andreas HuberLOCAL_SHARED_LIBRARIES := \
84da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6Ying Wang        libstagefright libstagefright_omx libstagefright_foundation libutils liblog
85bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
86bbba88cb1bdc34705d1477208990a06904c022e7Andreas HuberLOCAL_STATIC_LIBRARIES := \
87bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber        libstagefright_mp3dec
88bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
89bbba88cb1bdc34705d1477208990a06904c022e7Andreas HuberLOCAL_MODULE := libstagefright_soft_mp3dec
90a920660c2ae1548471c40c664ed3ac01b87c57b6Andreas HuberLOCAL_MODULE_TAGS := optional
91bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber
92bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huberinclude $(BUILD_SHARED_LIBRARY)
933508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat
943508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat################################################################################
953508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhatinclude $(CLEAR_VARS)
963508d77cf7b619d33d236533a45eea1a7321cc5aAshok BhatLOCAL_SRC_FILES := \
973508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        test/mp3dec_test.cpp  \
983508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        test/mp3reader.cpp
993508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat
1003508d77cf7b619d33d236533a45eea1a7321cc5aAshok BhatLOCAL_C_INCLUDES := \
1013508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        $(LOCAL_PATH)/src \
1023508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        $(LOCAL_PATH)/include \
1033508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        $(LOCAL_PATH)/test/include \
1043508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        $(call include-path-for, audio-utils)
1053508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat
1061c38d8d16b6a44d64b3fb14d24f339971848c085Dan AustinLOCAL_CLANG := true
107d5ae360e883215b7862b1f8d318fe469940fe146Eino-Ville TalvalaLOCAL_SANITIZE := signed-integer-overflow
1083508d77cf7b619d33d236533a45eea1a7321cc5aAshok BhatLOCAL_STATIC_LIBRARIES := \
1093508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat        libstagefright_mp3dec libsndfile
1103508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat
1113508d77cf7b619d33d236533a45eea1a7321cc5aAshok BhatLOCAL_SHARED_LIBRARIES := libaudioutils
1123508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat
1133508d77cf7b619d33d236533a45eea1a7321cc5aAshok BhatLOCAL_MODULE := libstagefright_mp3dec_test
1143508d77cf7b619d33d236533a45eea1a7321cc5aAshok BhatLOCAL_MODULE_TAGS := tests
1153508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhat
1163508d77cf7b619d33d236533a45eea1a7321cc5aAshok Bhatinclude $(BUILD_EXECUTABLE)
117