Convert libstagefright to Android.bp
See build/soong/README.md for more information
Test: builds
Change-Id: I74cfc651d07cbbaddeae7c4da9da6f2527aee691
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index 660fe01..e9b99b4 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -115,6 +115,8 @@
export_shared_lib_headers: [
"libbinder",
+ "libicuuc",
+ "libicui18n",
"libsonivox",
"libmediadrm",
"android.hidl.token@1.0-utils",
diff --git a/media/libstagefright/Android.bp b/media/libstagefright/Android.bp
index 3d9341b..478e306 100644
--- a/media/libstagefright/Android.bp
+++ b/media/libstagefright/Android.bp
@@ -1 +1,168 @@
-subdirs = ["foundation"]
+cc_library_shared {
+ name: "libstagefright",
+
+ srcs: [
+ "ACodec.cpp",
+ "ACodecBufferChannel.cpp",
+ "AACExtractor.cpp",
+ "AACWriter.cpp",
+ "AMRExtractor.cpp",
+ "AMRWriter.cpp",
+ "AudioPlayer.cpp",
+ "AudioSource.cpp",
+ "BufferImpl.cpp",
+ "CallbackDataSource.cpp",
+ "CameraSource.cpp",
+ "CameraSourceTimeLapse.cpp",
+ "DataConverter.cpp",
+ "DataSource.cpp",
+ "DataURISource.cpp",
+ "ESDS.cpp",
+ "FileSource.cpp",
+ "FLACExtractor.cpp",
+ "FrameRenderTracker.cpp",
+ "HTTPBase.cpp",
+ "HevcUtils.cpp",
+ "JPEGSource.cpp",
+ "MP3Extractor.cpp",
+ "MPEG2TSWriter.cpp",
+ "MPEG4Extractor.cpp",
+ "MPEG4Writer.cpp",
+ "MediaAdapter.cpp",
+ "MediaClock.cpp",
+ "MediaCodec.cpp",
+ "MediaCodecList.cpp",
+ "MediaCodecListOverrides.cpp",
+ "MediaCodecSource.cpp",
+ "MediaExtractor.cpp",
+ "MediaSync.cpp",
+ "MidiExtractor.cpp",
+ "http/MediaHTTP.cpp",
+ "MediaMuxer.cpp",
+ "MediaSource.cpp",
+ "NuCachedSource2.cpp",
+ "NuMediaExtractor.cpp",
+ "OMXClient.cpp",
+ "OggExtractor.cpp",
+ "SampleIterator.cpp",
+ "SampleTable.cpp",
+ "SimpleDecodingSource.cpp",
+ "SkipCutBuffer.cpp",
+ "StagefrightMediaScanner.cpp",
+ "StagefrightMetadataRetriever.cpp",
+ "SurfaceMediaSource.cpp",
+ "SurfaceUtils.cpp",
+ "ThrottledSource.cpp",
+ "Utils.cpp",
+ "VBRISeeker.cpp",
+ "VideoFrameScheduler.cpp",
+ "WAVExtractor.cpp",
+ "XINGSeeker.cpp",
+ "avc_utils.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/native/include/media/openmax",
+ "frameworks/native/include/media/hardware",
+ ],
+
+ shared_libs: [
+ "libaudioutils",
+ "libbinder",
+ "libcamera_client",
+ "libcrypto",
+ "libcutils",
+ "libdl",
+ "libdrmframework",
+ "libexpat",
+ "libgui",
+ "liblog",
+ "libmedia",
+ "libaudioclient",
+ "libmediametrics",
+ "libmediautils",
+ "libnetd_client",
+ "libsonivox",
+ "libstagefright_omx",
+ "libui",
+ "libutils",
+ "libvorbisidec",
+ "libmediadrm",
+ "libnativewindow",
+
+ "libmedia_helper",
+ "libstagefright_foundation",
+ "libdl",
+ "libRScpp",
+ "libhidlbase",
+ "libhidlmemory",
+ "android.hidl.allocator@1.0",
+ "android.hidl.memory@1.0",
+ "android.hardware.media.omx@1.0",
+ "libstagefright_xmlparser@1.0",
+ ],
+
+ static_libs: [
+ "libstagefright_color_conversion",
+ "libyuv_static",
+ "libstagefright_aacenc",
+ "libstagefright_matroska",
+ "libstagefright_mediafilter",
+ "libstagefright_webm",
+ "libstagefright_timedtext",
+ "libvpx",
+ "libwebm",
+ "libstagefright_mpeg2ts",
+ "libstagefright_id3",
+ "libFLAC",
+ ],
+
+ export_shared_lib_headers: ["libmedia"],
+ export_include_dirs: [
+ ".",
+ "include",
+ ],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wno-error=deprecated-declarations",
+ "-Wall",
+ ],
+
+ product_variables: {
+ debuggable: {
+ // enable experiments only in userdebug and eng builds
+ cflags: ["-DENABLE_STAGEFRIGHT_EXPERIMENTS"],
+ },
+ },
+
+ sanitize: {
+ cfi: true,
+ misc_undefined: [
+ "unsigned-integer-overflow",
+ "signed-integer-overflow",
+ ],
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
+subdirs = [
+ "codecs/*",
+ "colorconversion",
+ "filters",
+ "foundation",
+ "http",
+ "httplive",
+ "id3",
+ "matroska",
+ "mpeg2ts",
+ "omx",
+ "rtsp",
+ "tests",
+ "timedtext",
+ "webm",
+ "wifi-display",
+]
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk
deleted file mode 100644
index 372b11a..0000000
--- a/media/libstagefright/Android.mk
+++ /dev/null
@@ -1,145 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-
-LOCAL_SRC_FILES:= \
- ACodec.cpp \
- ACodecBufferChannel.cpp \
- AACExtractor.cpp \
- AACWriter.cpp \
- AMRExtractor.cpp \
- AMRWriter.cpp \
- AudioPlayer.cpp \
- AudioSource.cpp \
- BufferImpl.cpp \
- CallbackDataSource.cpp \
- CameraSource.cpp \
- CameraSourceTimeLapse.cpp \
- DataConverter.cpp \
- DataSource.cpp \
- DataURISource.cpp \
- ESDS.cpp \
- FileSource.cpp \
- FLACExtractor.cpp \
- FrameRenderTracker.cpp \
- HTTPBase.cpp \
- HevcUtils.cpp \
- JPEGSource.cpp \
- MP3Extractor.cpp \
- MPEG2TSWriter.cpp \
- MPEG4Extractor.cpp \
- MPEG4Writer.cpp \
- MediaAdapter.cpp \
- MediaClock.cpp \
- MediaCodec.cpp \
- MediaCodecList.cpp \
- MediaCodecListOverrides.cpp \
- MediaCodecSource.cpp \
- MediaExtractor.cpp \
- MediaSync.cpp \
- MidiExtractor.cpp \
- http/MediaHTTP.cpp \
- MediaMuxer.cpp \
- MediaSource.cpp \
- NuCachedSource2.cpp \
- NuMediaExtractor.cpp \
- OMXClient.cpp \
- OggExtractor.cpp \
- SampleIterator.cpp \
- SampleTable.cpp \
- SimpleDecodingSource.cpp \
- SkipCutBuffer.cpp \
- StagefrightMediaScanner.cpp \
- StagefrightMetadataRetriever.cpp \
- SurfaceMediaSource.cpp \
- SurfaceUtils.cpp \
- ThrottledSource.cpp \
- Utils.cpp \
- VBRISeeker.cpp \
- VideoFrameScheduler.cpp \
- WAVExtractor.cpp \
- XINGSeeker.cpp \
- avc_utils.cpp \
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/include/media/ \
- $(TOP)/frameworks/av/include/media/stagefright/timedtext \
- $(TOP)/frameworks/native/include/media/hardware \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/external/flac/include \
- $(TOP)/external/tremolo \
- $(TOP)/external/libvpx/libwebm \
- $(TOP)/external/icu/icu4c/source/common \
- $(TOP)/external/icu/icu4c/source/i18n \
- $(TOP)/system/netd/include \
- $(call include-path-for, audio-utils)
-
-LOCAL_SHARED_LIBRARIES := \
- libaudioutils \
- libbinder \
- libcamera_client \
- libcrypto \
- libcutils \
- libdl \
- libdrmframework \
- libexpat \
- libgui \
- liblog \
- libmedia \
- libaudioclient \
- libmediametrics \
- libmediautils \
- libnetd_client \
- libsonivox \
- libstagefright_omx \
- libui \
- libutils \
- libvorbisidec \
- libmediadrm \
- libnativewindow \
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_color_conversion \
- libyuv_static \
- libstagefright_aacenc \
- libstagefright_matroska \
- libstagefright_mediafilter \
- libstagefright_webm \
- libstagefright_timedtext \
- libvpx \
- libwebm \
- libstagefright_mpeg2ts \
- libstagefright_id3 \
- libFLAC \
-
-LOCAL_SHARED_LIBRARIES += \
- libmedia_helper \
- libstagefright_foundation \
- libdl \
- libRScpp \
- libhidlbase \
- libhidlmemory \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- android.hardware.media.omx@1.0 \
- libstagefright_xmlparser@1.0 \
-
-LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libmedia
-
-LOCAL_CFLAGS += -Wno-multichar -Werror -Wno-error=deprecated-declarations -Wall
-
-# enable experiments only in userdebug and eng builds
-ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
-LOCAL_CFLAGS += -DENABLE_STAGEFRIGHT_EXPERIMENTS
-endif
-
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_MODULE:= libstagefright
-
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/StagefrightMetadataRetriever.cpp b/media/libstagefright/StagefrightMetadataRetriever.cpp
index 883a4dd..03dc9df 100644
--- a/media/libstagefright/StagefrightMetadataRetriever.cpp
+++ b/media/libstagefright/StagefrightMetadataRetriever.cpp
@@ -44,7 +44,7 @@
#include <media/stagefright/MetaData.h>
#include <media/stagefright/Utils.h>
-#include <CharacterEncodingDetector.h>
+#include <media/CharacterEncodingDetector.h>
namespace android {
diff --git a/media/libstagefright/codecs/Android.mk b/media/libstagefright/codecs/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/aacdec/Android.bp b/media/libstagefright/codecs/aacdec/Android.bp
new file mode 100644
index 0000000..6e04c1e
--- /dev/null
+++ b/media/libstagefright/codecs/aacdec/Android.bp
@@ -0,0 +1,36 @@
+cc_library_shared {
+ name: "libstagefright_soft_aacdec",
+
+ srcs: [
+ "SoftAAC2.cpp",
+ "DrcPresModeWrap.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ static_libs: ["libFraunhoferAAC"],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "libcutils",
+ "liblog",
+ ],
+}
diff --git a/media/libstagefright/codecs/aacdec/Android.mk b/media/libstagefright/codecs/aacdec/Android.mk
deleted file mode 100644
index 29c0f33..0000000
--- a/media/libstagefright/codecs/aacdec/Android.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftAAC2.cpp \
- DrcPresModeWrap.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- external/aac/libAACdec/include \
- external/aac/libPCMutils/include \
- external/aac/libFDK/include \
- external/aac/libMpegTPDec/include \
- external/aac/libSBRdec/include \
- external/aac/libSYS/include
-
-LOCAL_CFLAGS :=
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_STATIC_LIBRARIES := libFraunhoferAAC
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils libcutils liblog
-
-LOCAL_MODULE := libstagefright_soft_aacdec
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/aacenc/Android.bp b/media/libstagefright/codecs/aacenc/Android.bp
new file mode 100644
index 0000000..1a7ffca
--- /dev/null
+++ b/media/libstagefright/codecs/aacenc/Android.bp
@@ -0,0 +1,176 @@
+cc_library_static {
+ name: "libstagefright_aacenc",
+
+ srcs: [
+ "basic_op/basicop2.c",
+ "basic_op/oper_32b.c",
+
+ "AACEncoder.cpp",
+ "src/aac_rom.c",
+ "src/aacenc.c",
+ "src/aacenc_core.c",
+ "src/adj_thr.c",
+ "src/band_nrg.c",
+ "src/bit_cnt.c",
+ "src/bitbuffer.c",
+ "src/bitenc.c",
+ "src/block_switch.c",
+ "src/channel_map.c",
+ "src/dyn_bits.c",
+ "src/grp_data.c",
+ "src/interface.c",
+ "src/line_pe.c",
+ "src/ms_stereo.c",
+ "src/pre_echo_control.c",
+ "src/psy_configuration.c",
+ "src/psy_main.c",
+ "src/qc_main.c",
+ "src/quantize.c",
+ "src/sf_estim.c",
+ "src/spreading.c",
+ "src/stat_bits.c",
+ "src/tns.c",
+ "src/transform.c",
+ "src/memalign.c",
+ ],
+
+ arch: {
+ arm: {
+ srcs: [
+ "src/asm/ARMV5E/AutoCorrelation_v5.s",
+ "src/asm/ARMV5E/band_nrg_v5.s",
+ "src/asm/ARMV5E/CalcWindowEnergy_v5.s",
+ "src/asm/ARMV5E/PrePostMDCT_v5.s",
+ "src/asm/ARMV5E/R4R8First_v5.s",
+ "src/asm/ARMV5E/Radix4FFT_v5.s",
+ ],
+
+ cflags: [
+ "-DARMV5E",
+ "-DARM_INASM",
+ "-DARMV5_INASM",
+ ],
+
+ local_include_dirs: ["src/asm/ARMV5E"],
+
+ instruction_set: "arm",
+
+ armv7_a_neon: {
+ exclude_srcs: [
+ "src/asm/ARMV5E/PrePostMDCT_v5.s",
+ "src/asm/ARMV5E/R4R8First_v5.s",
+ "src/asm/ARMV5E/Radix4FFT_v5.s",
+ ],
+ srcs: [
+ "src/asm/ARMV7/PrePostMDCT_v7.s",
+ "src/asm/ARMV7/R4R8First_v7.s",
+ "src/asm/ARMV7/Radix4FFT_v7.s",
+ ],
+
+ cflags: [
+ "-DARMV7Neon",
+ "-DARMV6_INASM",
+ ],
+
+ local_include_dirs: ["src/asm/ARMV7"],
+ },
+ },
+ },
+
+ // libstagefright links this static library, so it probably isn't appropriate to
+ // link libstagefright. However, this library includes libstagefright headers,
+ // and needs libbinder to be able to do so correctly.
+ shared_libs: [
+ "libbinder",
+ "libstagefright_enc_common",
+ ],
+
+ include_dirs: [
+ "frameworks/av/include",
+ "frameworks/av/media/libstagefright/include",
+ ],
+
+ local_include_dirs: [
+ "src",
+ "inc",
+ "basic_op",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ },
+
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_aacenc",
+
+ srcs: ["SoftAACEncoder2.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ static_libs: ["libFraunhoferAAC"],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+}
+
+cc_library_shared {
+ name: "libstagefright_soft_aacenc_visualon",
+
+ srcs: ["SoftAACEncoder.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: [
+ "-DOSCL_IMPORT_REF=",
+ "-Werror",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ },
+
+ static_libs: ["libstagefright_aacenc"],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ "libstagefright_enc_common",
+ ],
+}
diff --git a/media/libstagefright/codecs/aacenc/Android.mk b/media/libstagefright/codecs/aacenc/Android.mk
deleted file mode 100644
index a684342..0000000
--- a/media/libstagefright/codecs/aacenc/Android.mk
+++ /dev/null
@@ -1,148 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-AAC_LIBRARY = fraunhofer
-
-LOCAL_SRC_FILES := basic_op/basicop2.c basic_op/oper_32b.c
-
-LOCAL_SRC_FILES += \
- AACEncoder.cpp \
- src/aac_rom.c \
- src/aacenc.c \
- src/aacenc_core.c \
- src/adj_thr.c \
- src/band_nrg.c \
- src/bit_cnt.c \
- src/bitbuffer.c \
- src/bitenc.c \
- src/block_switch.c \
- src/channel_map.c \
- src/dyn_bits.c \
- src/grp_data.c \
- src/interface.c \
- src/line_pe.c \
- src/ms_stereo.c \
- src/pre_echo_control.c \
- src/psy_configuration.c \
- src/psy_main.c \
- src/qc_main.c \
- src/quantize.c \
- src/sf_estim.c \
- src/spreading.c \
- src/stat_bits.c \
- src/tns.c \
- src/transform.c \
- src/memalign.c
-
-ifneq ($(ARCH_ARM_HAVE_NEON),true)
- LOCAL_SRC_FILES_arm := \
- src/asm/ARMV5E/AutoCorrelation_v5.s \
- src/asm/ARMV5E/band_nrg_v5.s \
- src/asm/ARMV5E/CalcWindowEnergy_v5.s \
- src/asm/ARMV5E/PrePostMDCT_v5.s \
- src/asm/ARMV5E/R4R8First_v5.s \
- src/asm/ARMV5E/Radix4FFT_v5.s
-
- LOCAL_CFLAGS_arm := -DARMV5E -DARM_INASM -DARMV5_INASM
- LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/src/asm/ARMV5E
-else
- LOCAL_SRC_FILES_arm := \
- src/asm/ARMV5E/AutoCorrelation_v5.s \
- src/asm/ARMV5E/band_nrg_v5.s \
- src/asm/ARMV5E/CalcWindowEnergy_v5.s \
- src/asm/ARMV7/PrePostMDCT_v7.s \
- src/asm/ARMV7/R4R8First_v7.s \
- src/asm/ARMV7/Radix4FFT_v7.s
- LOCAL_CFLAGS_arm := -DARMV5E -DARMV7Neon -DARM_INASM -DARMV5_INASM -DARMV6_INASM
- LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/src/asm/ARMV5E
- LOCAL_C_INCLUDES_arm += $(LOCAL_PATH)/src/asm/ARMV7
-endif
-
-LOCAL_MODULE := libstagefright_aacenc
-
-LOCAL_ARM_MODE := arm
-
-LOCAL_STATIC_LIBRARIES :=
-
-# libstagefright links this static library, so it probably isn't appropriate to
-# link libstagefright. However, this library includes libstagefright headers,
-# and needs libbinder to be able to do so correctly.
-LOCAL_SHARED_LIBRARIES := libbinder
-
-LOCAL_C_INCLUDES := \
- frameworks/av/include \
- frameworks/av/media/libstagefright/include \
- frameworks/av/media/libstagefright/codecs/common/include \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/inc \
- $(LOCAL_PATH)/basic_op
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-ifeq ($(AAC_LIBRARY), fraunhofer)
-
- include $(CLEAR_VARS)
-
- LOCAL_SRC_FILES := \
- SoftAACEncoder2.cpp
-
- LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- external/aac/libAACenc/include \
- external/aac/libFDK/include \
- external/aac/libMpegTPEnc/include \
- external/aac/libSBRenc/include \
- external/aac/libSYS/include
-
- LOCAL_CFLAGS :=
-
- LOCAL_CFLAGS += -Werror
- LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
- LOCAL_SANITIZE_DIAG := cfi
-
- LOCAL_STATIC_LIBRARIES := libFraunhoferAAC
-
- LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils liblog
-
- LOCAL_MODULE := libstagefright_soft_aacenc
- LOCAL_MODULE_TAGS := optional
-
- include $(BUILD_SHARED_LIBRARY)
-
-else # visualon
-
- LOCAL_SRC_FILES := \
- SoftAACEncoder.cpp
-
- LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/av/media/libstagefright/codecs/common/include \
- frameworks/native/include/media/openmax
-
- LOCAL_CFLAGS := -DOSCL_IMPORT_REF=
-
- LOCAL_CFLAGS += -Werror
- LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow
-
- LOCAL_STATIC_LIBRARIES := \
- libstagefright_aacenc
-
- LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils liblog \
- libstagefright_enc_common
-
- LOCAL_MODULE := libstagefright_soft_aacenc
- LOCAL_MODULE_TAGS := optional
-
- include $(BUILD_SHARED_LIBRARY)
-
-endif # $(AAC_LIBRARY)
diff --git a/media/libstagefright/codecs/aacenc/SampleCode/Android.bp b/media/libstagefright/codecs/aacenc/SampleCode/Android.bp
new file mode 100644
index 0000000..c6ba4f3
--- /dev/null
+++ b/media/libstagefright/codecs/aacenc/SampleCode/Android.bp
@@ -0,0 +1,18 @@
+cc_binary {
+ name: "AACEncTest",
+
+ srcs: ["AAC_E_SAMPLES.c"],
+
+ arch: {
+ arm: {
+ instruction_set: "arm",
+ },
+ },
+
+ shared_libs: [
+ "libstagefright",
+ "libdl",
+ ],
+
+ static_libs: ["libstagefright_enc_common"],
+}
diff --git a/media/libstagefright/codecs/aacenc/SampleCode/Android.mk b/media/libstagefright/codecs/aacenc/SampleCode/Android.mk
deleted file mode 100644
index d06dcf6..0000000
--- a/media/libstagefright/codecs/aacenc/SampleCode/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- AAC_E_SAMPLES.c \
- ../../common/cmnMemory.c
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE := AACEncTest
-
-LOCAL_ARM_MODE := arm
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright \
- libdl
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/ \
- $(LOCAL_PATH)/../../common \
- $(LOCAL_PATH)/../../common/include \
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/amrnb/Android.bp b/media/libstagefright/codecs/amrnb/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/amrnb/Android.mk b/media/libstagefright/codecs/amrnb/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/amrnb/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/amrnb/common/Android.bp b/media/libstagefright/codecs/amrnb/common/Android.bp
new file mode 100644
index 0000000..c5ac558
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/common/Android.bp
@@ -0,0 +1,82 @@
+cc_library_shared {
+ name: "libstagefright_amrnb_common",
+
+ srcs: [
+ "src/add.cpp",
+ "src/az_lsp.cpp",
+ "src/bitno_tab.cpp",
+ "src/bitreorder_tab.cpp",
+ "src/bits2prm.cpp",
+ "src/c2_9pf_tab.cpp",
+ "src/copy.cpp",
+ "src/div_32.cpp",
+ "src/div_s.cpp",
+ "src/extract_h.cpp",
+ "src/extract_l.cpp",
+ "src/gains_tbl.cpp",
+ "src/gc_pred.cpp",
+ "src/gmed_n.cpp",
+ "src/grid_tbl.cpp",
+ "src/gray_tbl.cpp",
+ "src/int_lpc.cpp",
+ "src/inv_sqrt.cpp",
+ "src/inv_sqrt_tbl.cpp",
+ "src/l_abs.cpp",
+ "src/l_deposit_h.cpp",
+ "src/l_deposit_l.cpp",
+ "src/l_shr_r.cpp",
+ "src/log2.cpp",
+ "src/log2_norm.cpp",
+ "src/log2_tbl.cpp",
+ "src/lsfwt.cpp",
+ "src/lsp.cpp",
+ "src/lsp_az.cpp",
+ "src/lsp_lsf.cpp",
+ "src/lsp_lsf_tbl.cpp",
+ "src/lsp_tab.cpp",
+ "src/mult_r.cpp",
+ "src/norm_l.cpp",
+ "src/norm_s.cpp",
+ "src/ph_disp_tab.cpp",
+ "src/pow2.cpp",
+ "src/pow2_tbl.cpp",
+ "src/pred_lt.cpp",
+ "src/q_plsf.cpp",
+ "src/q_plsf_3.cpp",
+ "src/q_plsf_3_tbl.cpp",
+ "src/q_plsf_5.cpp",
+ "src/q_plsf_5_tbl.cpp",
+ "src/qua_gain_tbl.cpp",
+ "src/reorder.cpp",
+ "src/residu.cpp",
+ "src/round.cpp",
+ "src/set_zero.cpp",
+ "src/shr.cpp",
+ "src/shr_r.cpp",
+ "src/sqrt_l.cpp",
+ "src/sqrt_l_tbl.cpp",
+ "src/sub.cpp",
+ "src/syn_filt.cpp",
+ "src/vad1.cpp",
+ "src/weight_a.cpp",
+ "src/window_tab.cpp",
+ ],
+
+ export_include_dirs: ["include"],
+
+ cflags: [
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-DOSCL_IMPORT_REF=",
+ "-DOSCL_EXPORT_REF=",
+
+ "-Werror",
+ ],
+
+ //addressing b/25409744
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // "unsigned-integer-overflow",
+ // ],
+ //},
+}
diff --git a/media/libstagefright/codecs/amrnb/common/Android.mk b/media/libstagefright/codecs/amrnb/common/Android.mk
deleted file mode 100644
index 0bb5724..0000000
--- a/media/libstagefright/codecs/amrnb/common/Android.mk
+++ /dev/null
@@ -1,76 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/add.cpp \
- src/az_lsp.cpp \
- src/bitno_tab.cpp \
- src/bitreorder_tab.cpp \
- src/bits2prm.cpp \
- src/c2_9pf_tab.cpp \
- src/copy.cpp \
- src/div_32.cpp \
- src/div_s.cpp \
- src/extract_h.cpp \
- src/extract_l.cpp \
- src/gains_tbl.cpp \
- src/gc_pred.cpp \
- src/gmed_n.cpp \
- src/grid_tbl.cpp \
- src/gray_tbl.cpp \
- src/int_lpc.cpp \
- src/inv_sqrt.cpp \
- src/inv_sqrt_tbl.cpp \
- src/l_abs.cpp \
- src/l_deposit_h.cpp \
- src/l_deposit_l.cpp \
- src/l_shr_r.cpp \
- src/log2.cpp \
- src/log2_norm.cpp \
- src/log2_tbl.cpp \
- src/lsfwt.cpp \
- src/lsp.cpp \
- src/lsp_az.cpp \
- src/lsp_lsf.cpp \
- src/lsp_lsf_tbl.cpp \
- src/lsp_tab.cpp \
- src/mult_r.cpp \
- src/norm_l.cpp \
- src/norm_s.cpp \
- src/ph_disp_tab.cpp \
- src/pow2.cpp \
- src/pow2_tbl.cpp \
- src/pred_lt.cpp \
- src/q_plsf.cpp \
- src/q_plsf_3.cpp \
- src/q_plsf_3_tbl.cpp \
- src/q_plsf_5.cpp \
- src/q_plsf_5_tbl.cpp \
- src/qua_gain_tbl.cpp \
- src/reorder.cpp \
- src/residu.cpp \
- src/round.cpp \
- src/set_zero.cpp \
- src/shr.cpp \
- src/shr_r.cpp \
- src/sqrt_l.cpp \
- src/sqrt_l_tbl.cpp \
- src/sub.cpp \
- src/syn_filt.cpp \
- src/vad1.cpp \
- src/weight_a.cpp \
- src/window_tab.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/include
-
-LOCAL_CFLAGS := \
- -D"OSCL_UNUSED_ARG(x)=(void)(x)" -DOSCL_IMPORT_REF= -DOSCL_EXPORT_REF=
-
-LOCAL_CFLAGS += -Werror
-#addressing b/25409744
-#LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrnb_common
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/amrnb/dec/Android.bp b/media/libstagefright/codecs/amrnb/dec/Android.bp
new file mode 100644
index 0000000..996183b
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/dec/Android.bp
@@ -0,0 +1,126 @@
+cc_library_static {
+ name: "libstagefright_amrnbdec",
+
+ srcs: [
+ "src/a_refl.cpp",
+ "src/agc.cpp",
+ "src/amrdecode.cpp",
+ "src/b_cn_cod.cpp",
+ "src/bgnscd.cpp",
+ "src/c_g_aver.cpp",
+ "src/d1035pf.cpp",
+ "src/d2_11pf.cpp",
+ "src/d2_9pf.cpp",
+ "src/d3_14pf.cpp",
+ "src/d4_17pf.cpp",
+ "src/d8_31pf.cpp",
+ "src/d_gain_c.cpp",
+ "src/d_gain_p.cpp",
+ "src/d_plsf.cpp",
+ "src/d_plsf_3.cpp",
+ "src/d_plsf_5.cpp",
+ "src/dec_amr.cpp",
+ "src/dec_gain.cpp",
+ "src/dec_input_format_tab.cpp",
+ "src/dec_lag3.cpp",
+ "src/dec_lag6.cpp",
+ "src/dtx_dec.cpp",
+ "src/ec_gains.cpp",
+ "src/ex_ctrl.cpp",
+ "src/if2_to_ets.cpp",
+ "src/int_lsf.cpp",
+ "src/lsp_avg.cpp",
+ "src/ph_disp.cpp",
+ "src/post_pro.cpp",
+ "src/preemph.cpp",
+ "src/pstfilt.cpp",
+ "src/qgain475_tab.cpp",
+ "src/sp_dec.cpp",
+ "src/wmf_to_ets.cpp",
+ ],
+
+ include_dirs: ["frameworks/av/media/libstagefright/include"],
+ local_include_dirs: ["src"],
+
+ cflags: [
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-DOSCL_IMPORT_REF=",
+
+ "-Werror",
+ ],
+
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // ],
+ //},
+
+ shared_libs: ["libstagefright_amrnb_common"],
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_amrdec",
+
+ srcs: ["SoftAMR.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/av/media/libstagefright/codecs/amrwb/src",
+ "frameworks/native/include/media/openmax",
+ ],
+ local_include_dirs: ["src"],
+
+ cflags: [
+ "-DOSCL_IMPORT_REF=",
+ "-Werror",
+ ],
+
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // ],
+ //},
+ //LOCAL_SANITIZE := signed-integer-overflow
+
+ static_libs: [
+ "libstagefright_amrnbdec",
+ "libstagefright_amrwbdec",
+ ],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ "libstagefright_amrnb_common",
+ ],
+}
+
+//###############################################################################
+cc_test {
+ name: "libstagefright_amrnbdec_test",
+ gtest: false,
+
+ srcs: ["test/amrnbdec_test.cpp"],
+
+ local_include_dirs: ["src"],
+
+ static_libs: [
+ "libstagefright_amrnbdec",
+ "libsndfile",
+ ],
+
+ shared_libs: [
+ "libstagefright_amrnb_common",
+ "libaudioutils",
+ "liblog",
+ ],
+
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // ],
+ //},
+}
diff --git a/media/libstagefright/codecs/amrnb/dec/Android.mk b/media/libstagefright/codecs/amrnb/dec/Android.mk
deleted file mode 100644
index 3959b80..0000000
--- a/media/libstagefright/codecs/amrnb/dec/Android.mk
+++ /dev/null
@@ -1,110 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/a_refl.cpp \
- src/agc.cpp \
- src/amrdecode.cpp \
- src/b_cn_cod.cpp \
- src/bgnscd.cpp \
- src/c_g_aver.cpp \
- src/d1035pf.cpp \
- src/d2_11pf.cpp \
- src/d2_9pf.cpp \
- src/d3_14pf.cpp \
- src/d4_17pf.cpp \
- src/d8_31pf.cpp \
- src/d_gain_c.cpp \
- src/d_gain_p.cpp \
- src/d_plsf.cpp \
- src/d_plsf_3.cpp \
- src/d_plsf_5.cpp \
- src/dec_amr.cpp \
- src/dec_gain.cpp \
- src/dec_input_format_tab.cpp \
- src/dec_lag3.cpp \
- src/dec_lag6.cpp \
- src/dtx_dec.cpp \
- src/ec_gains.cpp \
- src/ex_ctrl.cpp \
- src/if2_to_ets.cpp \
- src/int_lsf.cpp \
- src/lsp_avg.cpp \
- src/ph_disp.cpp \
- src/post_pro.cpp \
- src/preemph.cpp \
- src/pstfilt.cpp \
- src/qgain475_tab.cpp \
- src/sp_dec.cpp \
- src/wmf_to_ets.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(LOCAL_PATH)/../common/include
-
-LOCAL_CFLAGS := \
- -D"OSCL_UNUSED_ARG(x)=(void)(x)" -DOSCL_IMPORT_REF=
-
-LOCAL_CFLAGS += -Werror
-#LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrnbdec
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftAMR.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/av/media/libstagefright/codecs/amrwb/src \
- frameworks/native/include/media/openmax \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(LOCAL_PATH)/../common/include \
-
-LOCAL_CFLAGS := -DOSCL_IMPORT_REF=
-
-LOCAL_CFLAGS += -Werror
-#LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrnbdec libstagefright_amrwbdec
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils liblog \
- libstagefright_amrnb_common
-
-LOCAL_MODULE := libstagefright_soft_amrdec
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
-
-################################################################################
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- test/amrnbdec_test.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/../common/include \
- $(call include-path-for, audio-utils)
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrnbdec libsndfile
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_amrnb_common libaudioutils liblog
-
-#LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrnbdec_test
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/amrnb/enc/Android.bp b/media/libstagefright/codecs/amrnb/enc/Android.bp
new file mode 100644
index 0000000..af0f8c2
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/enc/Android.bp
@@ -0,0 +1,135 @@
+cc_library_static {
+ name: "libstagefright_amrnbenc",
+
+ srcs: [
+ "src/amrencode.cpp",
+ "src/autocorr.cpp",
+ "src/c1035pf.cpp",
+ "src/c2_11pf.cpp",
+ "src/c2_9pf.cpp",
+ "src/c3_14pf.cpp",
+ "src/c4_17pf.cpp",
+ "src/c8_31pf.cpp",
+ "src/calc_cor.cpp",
+ "src/calc_en.cpp",
+ "src/cbsearch.cpp",
+ "src/cl_ltp.cpp",
+ "src/cod_amr.cpp",
+ "src/convolve.cpp",
+ "src/cor_h.cpp",
+ "src/cor_h_x.cpp",
+ "src/cor_h_x2.cpp",
+ "src/corrwght_tab.cpp",
+ "src/dtx_enc.cpp",
+ "src/enc_lag3.cpp",
+ "src/enc_lag6.cpp",
+ "src/enc_output_format_tab.cpp",
+ "src/ets_to_if2.cpp",
+ "src/ets_to_wmf.cpp",
+ "src/g_adapt.cpp",
+ "src/g_code.cpp",
+ "src/g_pitch.cpp",
+ "src/gain_q.cpp",
+ "src/hp_max.cpp",
+ "src/inter_36.cpp",
+ "src/inter_36_tab.cpp",
+ "src/l_comp.cpp",
+ "src/l_extract.cpp",
+ "src/l_negate.cpp",
+ "src/lag_wind.cpp",
+ "src/lag_wind_tab.cpp",
+ "src/levinson.cpp",
+ "src/lpc.cpp",
+ "src/ol_ltp.cpp",
+ "src/p_ol_wgh.cpp",
+ "src/pitch_fr.cpp",
+ "src/pitch_ol.cpp",
+ "src/pre_big.cpp",
+ "src/pre_proc.cpp",
+ "src/prm2bits.cpp",
+ "src/q_gain_c.cpp",
+ "src/q_gain_p.cpp",
+ "src/qgain475.cpp",
+ "src/qgain795.cpp",
+ "src/qua_gain.cpp",
+ "src/s10_8pf.cpp",
+ "src/set_sign.cpp",
+ "src/sid_sync.cpp",
+ "src/sp_enc.cpp",
+ "src/spreproc.cpp",
+ "src/spstproc.cpp",
+ "src/ton_stab.cpp",
+ ],
+
+ include_dirs: ["frameworks/av/media/libstagefright/include"],
+ local_include_dirs: ["src"],
+
+ cflags: [
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-Werror",
+ ],
+
+ //addressing b/25409744
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // ],
+ //},
+
+ shared_libs: ["libstagefright_amrnb_common"],
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_amrnbenc",
+
+ srcs: ["SoftAMRNBEncoder.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+ local_include_dirs: ["src"],
+
+ cflags: ["-Werror"],
+
+ //addressing b/25409744
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // ],
+ //},
+
+ static_libs: ["libstagefright_amrnbenc"],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ "libstagefright_amrnb_common",
+ ],
+}
+
+//###############################################################################
+
+cc_test {
+ name: "libstagefright_amrnbenc_test",
+ gtest: false,
+
+ srcs: ["test/amrnb_enc_test.cpp"],
+
+ local_include_dirs: ["src"],
+
+ static_libs: ["libstagefright_amrnbenc"],
+
+ shared_libs: ["libstagefright_amrnb_common"],
+
+ //addressing b/25409744
+ //sanitize: {
+ // misc_undefined: [
+ // "signed-integer-overflow",
+ // ],
+ //},
+}
diff --git a/media/libstagefright/codecs/amrnb/enc/Android.mk b/media/libstagefright/codecs/amrnb/enc/Android.mk
deleted file mode 100644
index af1efb9..0000000
--- a/media/libstagefright/codecs/amrnb/enc/Android.mk
+++ /dev/null
@@ -1,134 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/amrencode.cpp \
- src/autocorr.cpp \
- src/c1035pf.cpp \
- src/c2_11pf.cpp \
- src/c2_9pf.cpp \
- src/c3_14pf.cpp \
- src/c4_17pf.cpp \
- src/c8_31pf.cpp \
- src/calc_cor.cpp \
- src/calc_en.cpp \
- src/cbsearch.cpp \
- src/cl_ltp.cpp \
- src/cod_amr.cpp \
- src/convolve.cpp \
- src/cor_h.cpp \
- src/cor_h_x.cpp \
- src/cor_h_x2.cpp \
- src/corrwght_tab.cpp \
- src/dtx_enc.cpp \
- src/enc_lag3.cpp \
- src/enc_lag6.cpp \
- src/enc_output_format_tab.cpp \
- src/ets_to_if2.cpp \
- src/ets_to_wmf.cpp \
- src/g_adapt.cpp \
- src/g_code.cpp \
- src/g_pitch.cpp \
- src/gain_q.cpp \
- src/hp_max.cpp \
- src/inter_36.cpp \
- src/inter_36_tab.cpp \
- src/l_comp.cpp \
- src/l_extract.cpp \
- src/l_negate.cpp \
- src/lag_wind.cpp \
- src/lag_wind_tab.cpp \
- src/levinson.cpp \
- src/lpc.cpp \
- src/ol_ltp.cpp \
- src/p_ol_wgh.cpp \
- src/pitch_fr.cpp \
- src/pitch_ol.cpp \
- src/pre_big.cpp \
- src/pre_proc.cpp \
- src/prm2bits.cpp \
- src/q_gain_c.cpp \
- src/q_gain_p.cpp \
- src/qgain475.cpp \
- src/qgain795.cpp \
- src/qua_gain.cpp \
- src/s10_8pf.cpp \
- src/set_sign.cpp \
- src/sid_sync.cpp \
- src/sp_enc.cpp \
- src/spreproc.cpp \
- src/spstproc.cpp \
- src/ton_stab.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(LOCAL_PATH)/../common/include
-
-LOCAL_CFLAGS := \
- -D"OSCL_UNUSED_ARG(x)=(void)(x)"
-
-LOCAL_CFLAGS += -Werror
-#addressing b/25409744
-#LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrnbenc
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftAMRNBEncoder.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(LOCAL_PATH)/../common/include \
- $(LOCAL_PATH)/../common
-
-LOCAL_CFLAGS += -Werror
-#addressing b/25409744
-#LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrnbenc
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils liblog \
- libstagefright_amrnb_common
-
-LOCAL_MODULE := libstagefright_soft_amrnbenc
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- test/amrnb_enc_test.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/../common/include
-
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrnbenc
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_amrnb_common
-
-#addressing b/25409744
-#LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrnbenc_test
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/amrwb/Android.bp b/media/libstagefright/codecs/amrwb/Android.bp
new file mode 100644
index 0000000..e261c04
--- /dev/null
+++ b/media/libstagefright/codecs/amrwb/Android.bp
@@ -0,0 +1,85 @@
+cc_library_static {
+ name: "libstagefright_amrwbdec",
+
+ srcs: [
+ "src/agc2_amr_wb.cpp",
+ "src/band_pass_6k_7k.cpp",
+ "src/dec_acelp_2p_in_64.cpp",
+ "src/dec_acelp_4p_in_64.cpp",
+ "src/dec_alg_codebook.cpp",
+ "src/dec_gain2_amr_wb.cpp",
+ "src/deemphasis_32.cpp",
+ "src/dtx_decoder_amr_wb.cpp",
+ "src/get_amr_wb_bits.cpp",
+ "src/highpass_400hz_at_12k8.cpp",
+ "src/highpass_50hz_at_12k8.cpp",
+ "src/homing_amr_wb_dec.cpp",
+ "src/interpolate_isp.cpp",
+ "src/isf_extrapolation.cpp",
+ "src/isp_az.cpp",
+ "src/isp_isf.cpp",
+ "src/lagconceal.cpp",
+ "src/low_pass_filt_7k.cpp",
+ "src/median5.cpp",
+ "src/mime_io.cpp",
+ "src/noise_gen_amrwb.cpp",
+ "src/normalize_amr_wb.cpp",
+ "src/oversamp_12k8_to_16k.cpp",
+ "src/phase_dispersion.cpp",
+ "src/pit_shrp.cpp",
+ "src/pred_lt4.cpp",
+ "src/preemph_amrwb_dec.cpp",
+ "src/pvamrwb_math_op.cpp",
+ "src/pvamrwbdecoder.cpp",
+ "src/q_gain2_tab.cpp",
+ "src/qisf_ns.cpp",
+ "src/qisf_ns_tab.cpp",
+ "src/qpisf_2s.cpp",
+ "src/qpisf_2s_tab.cpp",
+ "src/scale_signal.cpp",
+ "src/synthesis_amr_wb.cpp",
+ "src/voice_factor.cpp",
+ "src/wb_syn_filt.cpp",
+ "src/weight_amrwb_lpc.cpp",
+ ],
+
+ include_dirs: ["frameworks/av/media/libstagefright/include"],
+ local_include_dirs: ["src"],
+ export_include_dirs: ["include"],
+
+ cflags: [
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-DOSCL_IMPORT_REF=",
+
+ "-Werror",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ },
+}
+
+//###############################################################################
+cc_test {
+ name: "libstagefright_amrwbdec_test",
+ gtest: false,
+
+ srcs: ["test/amrwbdec_test.cpp"],
+
+ static_libs: [
+ "libstagefright_amrwbdec",
+ "libsndfile",
+ ],
+
+ local_include_dirs: ["src"],
+
+ shared_libs: ["libaudioutils"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ },
+}
diff --git a/media/libstagefright/codecs/amrwb/Android.mk b/media/libstagefright/codecs/amrwb/Android.mk
deleted file mode 100644
index 73a1751..0000000
--- a/media/libstagefright/codecs/amrwb/Android.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/agc2_amr_wb.cpp \
- src/band_pass_6k_7k.cpp \
- src/dec_acelp_2p_in_64.cpp \
- src/dec_acelp_4p_in_64.cpp \
- src/dec_alg_codebook.cpp \
- src/dec_gain2_amr_wb.cpp \
- src/deemphasis_32.cpp \
- src/dtx_decoder_amr_wb.cpp \
- src/get_amr_wb_bits.cpp \
- src/highpass_400hz_at_12k8.cpp \
- src/highpass_50hz_at_12k8.cpp \
- src/homing_amr_wb_dec.cpp \
- src/interpolate_isp.cpp \
- src/isf_extrapolation.cpp \
- src/isp_az.cpp \
- src/isp_isf.cpp \
- src/lagconceal.cpp \
- src/low_pass_filt_7k.cpp \
- src/median5.cpp \
- src/mime_io.cpp \
- src/noise_gen_amrwb.cpp \
- src/normalize_amr_wb.cpp \
- src/oversamp_12k8_to_16k.cpp \
- src/phase_dispersion.cpp \
- src/pit_shrp.cpp \
- src/pred_lt4.cpp \
- src/preemph_amrwb_dec.cpp \
- src/pvamrwb_math_op.cpp \
- src/pvamrwbdecoder.cpp \
- src/q_gain2_tab.cpp \
- src/qisf_ns.cpp \
- src/qisf_ns_tab.cpp \
- src/qpisf_2s.cpp \
- src/qpisf_2s_tab.cpp \
- src/scale_signal.cpp \
- src/synthesis_amr_wb.cpp \
- src/voice_factor.cpp \
- src/wb_syn_filt.cpp \
- src/weight_amrwb_lpc.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include
-
-LOCAL_CFLAGS := \
- -D"OSCL_UNUSED_ARG(x)=(void)(x)" -DOSCL_IMPORT_REF=
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrwbdec
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- test/amrwbdec_test.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(call include-path-for, audio-utils)
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrwbdec libsndfile
-
-LOCAL_SHARED_LIBRARIES := \
- libaudioutils
-
-LOCAL_SANITIZE := signed-integer-overflow
-
-LOCAL_MODULE := libstagefright_amrwbdec_test
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/amrwbenc/Android.bp b/media/libstagefright/codecs/amrwbenc/Android.bp
new file mode 100644
index 0000000..5c5a122
--- /dev/null
+++ b/media/libstagefright/codecs/amrwbenc/Android.bp
@@ -0,0 +1,180 @@
+cc_library_static {
+ name: "libstagefright_amrwbenc",
+
+ srcs: [
+ "src/autocorr.c",
+ "src/az_isp.c",
+ "src/bits.c",
+ "src/c2t64fx.c",
+ "src/c4t64fx.c",
+ "src/convolve.c",
+ "src/cor_h_x.c",
+ "src/decim54.c",
+ "src/deemph.c",
+ "src/dtx.c",
+ "src/g_pitch.c",
+ "src/gpclip.c",
+ "src/homing.c",
+ "src/hp400.c",
+ "src/hp50.c",
+ "src/hp6k.c",
+ "src/hp_wsp.c",
+ "src/int_lpc.c",
+ "src/isp_az.c",
+ "src/isp_isf.c",
+ "src/lag_wind.c",
+ "src/levinson.c",
+ "src/log2.c",
+ "src/lp_dec2.c",
+ "src/math_op.c",
+ "src/oper_32b.c",
+ "src/p_med_ol.c",
+ "src/pit_shrp.c",
+ "src/pitch_f4.c",
+ "src/pred_lt4.c",
+ "src/preemph.c",
+ "src/q_gain2.c",
+ "src/q_pulse.c",
+ "src/qisf_ns.c",
+ "src/qpisf_2s.c",
+ "src/random.c",
+ "src/residu.c",
+ "src/scale.c",
+ "src/stream.c",
+ "src/syn_filt.c",
+ "src/updt_tar.c",
+ "src/util.c",
+ "src/voAMRWBEnc.c",
+ "src/voicefac.c",
+ "src/wb_vad.c",
+ "src/weight_a.c",
+ "src/mem_align.c",
+ ],
+
+ arch: {
+ arm: {
+ srcs: [
+ "src/asm/ARMV5E/convolve_opt.s",
+ "src/asm/ARMV5E/cor_h_vec_opt.s",
+ "src/asm/ARMV5E/Deemph_32_opt.s",
+ "src/asm/ARMV5E/Dot_p_opt.s",
+ "src/asm/ARMV5E/Filt_6k_7k_opt.s",
+ "src/asm/ARMV5E/Norm_Corr_opt.s",
+ "src/asm/ARMV5E/pred_lt4_1_opt.s",
+ "src/asm/ARMV5E/residu_asm_opt.s",
+ "src/asm/ARMV5E/scale_sig_opt.s",
+ "src/asm/ARMV5E/Syn_filt_32_opt.s",
+ "src/asm/ARMV5E/syn_filt_opt.s",
+ ],
+
+ cflags: [
+ "-DARM",
+ "-DASM_OPT",
+ ],
+ local_include_dirs: ["src/asm/ARMV5E"],
+
+ instruction_set: "arm",
+
+ armv7_a_neon: {
+ exclude_srcs: [
+ "src/asm/ARMV5E/convolve_opt.s",
+ "src/asm/ARMV5E/cor_h_vec_opt.s",
+ "src/asm/ARMV5E/Deemph_32_opt.s",
+ "src/asm/ARMV5E/Dot_p_opt.s",
+ "src/asm/ARMV5E/Filt_6k_7k_opt.s",
+ "src/asm/ARMV5E/Norm_Corr_opt.s",
+ "src/asm/ARMV5E/pred_lt4_1_opt.s",
+ "src/asm/ARMV5E/residu_asm_opt.s",
+ "src/asm/ARMV5E/scale_sig_opt.s",
+ "src/asm/ARMV5E/Syn_filt_32_opt.s",
+ "src/asm/ARMV5E/syn_filt_opt.s",
+ ],
+
+ srcs: [
+ "src/asm/ARMV7/convolve_neon.s",
+ "src/asm/ARMV7/cor_h_vec_neon.s",
+ "src/asm/ARMV7/Deemph_32_neon.s",
+ "src/asm/ARMV7/Dot_p_neon.s",
+ "src/asm/ARMV7/Filt_6k_7k_neon.s",
+ "src/asm/ARMV7/Norm_Corr_neon.s",
+ "src/asm/ARMV7/pred_lt4_1_neon.s",
+ "src/asm/ARMV7/residu_asm_neon.s",
+ "src/asm/ARMV7/scale_sig_neon.s",
+ "src/asm/ARMV7/Syn_filt_32_neon.s",
+ "src/asm/ARMV7/syn_filt_neon.s",
+ ],
+
+ // don't actually generate neon instructions, see bug 26932980
+ cflags: [
+ "-DARMV7",
+ "-mfpu=vfpv3",
+ ],
+ local_include_dirs: [
+ "src/asm/ARMV5E",
+ "src/asm/ARMV7",
+ ],
+ },
+
+ },
+ },
+
+ include_dirs: [
+ "frameworks/av/include",
+ "frameworks/av/media/libstagefright/include",
+ ],
+
+ local_include_dirs: ["src"],
+ export_include_dirs: ["inc"],
+
+ shared_libs: [
+ "libstagefright_enc_common",
+ ],
+
+ cflags: ["-Werror"],
+ sanitize: {
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_amrwbenc",
+
+ srcs: ["SoftAMRWBEncoder.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ static_libs: ["libstagefright_amrwbenc"],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ "libstagefright_enc_common",
+ ],
+}
+
+//###############################################################################
+
+subdirs = ["SampleCode"]
diff --git a/media/libstagefright/codecs/amrwbenc/Android.mk b/media/libstagefright/codecs/amrwbenc/Android.mk
deleted file mode 100644
index 15e63f4..0000000
--- a/media/libstagefright/codecs/amrwbenc/Android.mk
+++ /dev/null
@@ -1,139 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/autocorr.c \
- src/az_isp.c \
- src/bits.c \
- src/c2t64fx.c \
- src/c4t64fx.c \
- src/convolve.c \
- src/cor_h_x.c \
- src/decim54.c \
- src/deemph.c \
- src/dtx.c \
- src/g_pitch.c \
- src/gpclip.c \
- src/homing.c \
- src/hp400.c \
- src/hp50.c \
- src/hp6k.c \
- src/hp_wsp.c \
- src/int_lpc.c \
- src/isp_az.c \
- src/isp_isf.c \
- src/lag_wind.c \
- src/levinson.c \
- src/log2.c \
- src/lp_dec2.c \
- src/math_op.c \
- src/oper_32b.c \
- src/p_med_ol.c \
- src/pit_shrp.c \
- src/pitch_f4.c \
- src/pred_lt4.c \
- src/preemph.c \
- src/q_gain2.c \
- src/q_pulse.c \
- src/qisf_ns.c \
- src/qpisf_2s.c \
- src/random.c \
- src/residu.c \
- src/scale.c \
- src/stream.c \
- src/syn_filt.c \
- src/updt_tar.c \
- src/util.c \
- src/voAMRWBEnc.c \
- src/voicefac.c \
- src/wb_vad.c \
- src/weight_a.c \
- src/mem_align.c
-
-ifneq ($(ARCH_ARM_HAVE_NEON),true)
- LOCAL_SRC_FILES_arm := \
- src/asm/ARMV5E/convolve_opt.s \
- src/asm/ARMV5E/cor_h_vec_opt.s \
- src/asm/ARMV5E/Deemph_32_opt.s \
- src/asm/ARMV5E/Dot_p_opt.s \
- src/asm/ARMV5E/Filt_6k_7k_opt.s \
- src/asm/ARMV5E/Norm_Corr_opt.s \
- src/asm/ARMV5E/pred_lt4_1_opt.s \
- src/asm/ARMV5E/residu_asm_opt.s \
- src/asm/ARMV5E/scale_sig_opt.s \
- src/asm/ARMV5E/Syn_filt_32_opt.s \
- src/asm/ARMV5E/syn_filt_opt.s
-
- LOCAL_CFLAGS_arm := -DARM -DASM_OPT
- LOCAL_C_INCLUDES_arm = $(LOCAL_PATH)/src/asm/ARMV5E
-else
- LOCAL_SRC_FILES_arm := \
- src/asm/ARMV7/convolve_neon.s \
- src/asm/ARMV7/cor_h_vec_neon.s \
- src/asm/ARMV7/Deemph_32_neon.s \
- src/asm/ARMV7/Dot_p_neon.s \
- src/asm/ARMV7/Filt_6k_7k_neon.s \
- src/asm/ARMV7/Norm_Corr_neon.s \
- src/asm/ARMV7/pred_lt4_1_neon.s \
- src/asm/ARMV7/residu_asm_neon.s \
- src/asm/ARMV7/scale_sig_neon.s \
- src/asm/ARMV7/Syn_filt_32_neon.s \
- src/asm/ARMV7/syn_filt_neon.s
-
- # don't actually generate neon instructions, see bug 26932980
- LOCAL_CFLAGS_arm := -DARM -DARMV7 -DASM_OPT -mfpu=vfpv3
- LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/src/asm/ARMV5E
- LOCAL_C_INCLUDES_arm += $(LOCAL_PATH)/src/asm/ARMV7
-endif
-
-LOCAL_MODULE := libstagefright_amrwbenc
-
-LOCAL_ARM_MODE := arm
-
-LOCAL_STATIC_LIBRARIES :=
-
-LOCAL_SHARED_LIBRARIES :=
-
-LOCAL_C_INCLUDES := \
- frameworks/av/include \
- frameworks/av/media/libstagefright/include \
- frameworks/av/media/libstagefright/codecs/common/include \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/inc
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftAMRWBEncoder.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/av/media/libstagefright/codecs/common/include \
- frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrwbenc
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils liblog \
- libstagefright_enc_common
-
-LOCAL_MODULE := libstagefright_soft_amrwbenc
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
-
-################################################################################
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/amrwbenc/SampleCode/Android.bp b/media/libstagefright/codecs/amrwbenc/SampleCode/Android.bp
new file mode 100644
index 0000000..d52fed3
--- /dev/null
+++ b/media/libstagefright/codecs/amrwbenc/SampleCode/Android.bp
@@ -0,0 +1,28 @@
+cc_test {
+ name: "AMRWBEncTest",
+ gtest: false,
+
+ srcs: ["AMRWB_E_SAMPLE.c"],
+
+ arch: {
+ arm: {
+ instruction_set: "arm",
+ },
+ },
+
+ shared_libs: [
+ "libdl",
+ ],
+
+ static_libs: [
+ "libstagefright_amrwbenc",
+ "libstagefright_enc_common",
+ ],
+
+ sanitize: {
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/codecs/amrwbenc/SampleCode/Android.mk b/media/libstagefright/codecs/amrwbenc/SampleCode/Android.mk
deleted file mode 100644
index 5a8aa07..0000000
--- a/media/libstagefright/codecs/amrwbenc/SampleCode/Android.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- AMRWB_E_SAMPLE.c \
- ../../common/cmnMemory.c
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_MODULE := AMRWBEncTest
-
-LOCAL_ARM_MODE := arm
-
-LOCAL_CFLAGS :=
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright \
- libdl
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_amrwbenc
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/ \
- $(LOCAL_PATH)/../../common \
- $(LOCAL_PATH)/../../common/include
-
-LOCAL_SANITIZE := cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/avcdec/Android.bp b/media/libstagefright/codecs/avcdec/Android.bp
new file mode 100644
index 0000000..6b996a7
--- /dev/null
+++ b/media/libstagefright/codecs/avcdec/Android.bp
@@ -0,0 +1,33 @@
+cc_library_shared {
+ name: "libstagefright_soft_avcdec",
+
+ static_libs: ["libavcdec"],
+ srcs: ["SoftAVCDec.cpp"],
+
+ include_dirs: [
+ "external/libavc/decoder",
+ "external/libavc/common",
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ ldflags: ["-Wl,-Bsymbolic"],
+}
diff --git a/media/libstagefright/codecs/avcdec/Android.mk b/media/libstagefright/codecs/avcdec/Android.mk
deleted file mode 100644
index 8c894fd..0000000
--- a/media/libstagefright/codecs/avcdec/Android.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifeq ($(if $(wildcard external/libh264),1,0),1)
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libstagefright_soft_avcdec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_LIBRARIES := libavcdec
-LOCAL_SRC_FILES := SoftAVCDec.cpp
-
-LOCAL_C_INCLUDES := $(TOP)/external/libavc/decoder
-LOCAL_C_INCLUDES += $(TOP)/external/libavc/common
-LOCAL_C_INCLUDES += $(TOP)/frameworks/av/media/libstagefright/include
-LOCAL_C_INCLUDES += $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_SHARED_LIBRARIES := libmedia
-LOCAL_SHARED_LIBRARIES += libstagefright_omx
-LOCAL_SHARED_LIBRARIES += libstagefright_foundation
-LOCAL_SHARED_LIBRARIES += libutils
-LOCAL_SHARED_LIBRARIES += liblog
-
-LOCAL_SANITIZE := signed-integer-overflow cfi
-
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_LDFLAGS := -Wl,-Bsymbolic
-
-include $(BUILD_SHARED_LIBRARY)
-
-#endif
diff --git a/media/libstagefright/codecs/avcenc/Android.bp b/media/libstagefright/codecs/avcenc/Android.bp
new file mode 100644
index 0000000..49021a9
--- /dev/null
+++ b/media/libstagefright/codecs/avcenc/Android.bp
@@ -0,0 +1,33 @@
+cc_library_shared {
+ name: "libstagefright_soft_avcenc",
+
+ static_libs: ["libavcenc"],
+ srcs: ["SoftAVCEnc.cpp"],
+
+ include_dirs: [
+ "external/libavc/encoder",
+ "external/libavc/common",
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/hardware",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libutils",
+ "liblog",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ ldflags: ["-Wl,-Bsymbolic"],
+}
diff --git a/media/libstagefright/codecs/avcenc/Android.mk b/media/libstagefright/codecs/avcenc/Android.mk
deleted file mode 100644
index 23ba208..0000000
--- a/media/libstagefright/codecs/avcenc/Android.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifeq ($(if $(wildcard external/libh264),1,0),1)
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libstagefright_soft_avcenc
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_LIBRARIES := libavcenc
-LOCAL_SRC_FILES := SoftAVCEnc.cpp
-
-LOCAL_C_INCLUDES := $(TOP)/external/libavc/encoder
-LOCAL_C_INCLUDES += $(TOP)/external/libavc/common
-LOCAL_C_INCLUDES += $(TOP)/frameworks/av/media/libstagefright/include
-LOCAL_C_INCLUDES += $(TOP)/frameworks/native/include/media/hardware
-LOCAL_C_INCLUDES += $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_SHARED_LIBRARIES := libmedia
-LOCAL_SHARED_LIBRARIES += libstagefright_omx
-LOCAL_SHARED_LIBRARIES += libutils
-LOCAL_SHARED_LIBRARIES += liblog
-
-LOCAL_SANITIZE := signed-integer-overflow cfi
-
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_LDFLAGS := -Wl,-Bsymbolic
-
-include $(BUILD_SHARED_LIBRARY)
-
-#endif
diff --git a/media/libstagefright/codecs/common/Android.bp b/media/libstagefright/codecs/common/Android.bp
new file mode 100644
index 0000000..021e6af
--- /dev/null
+++ b/media/libstagefright/codecs/common/Android.bp
@@ -0,0 +1,15 @@
+cc_library {
+ name: "libstagefright_enc_common",
+
+ srcs: ["cmnMemory.c"],
+
+ arch: {
+ arm: {
+ instruction_set: "arm",
+ },
+ },
+
+ export_include_dirs: ["include"],
+
+ cflags: ["-Werror"],
+}
diff --git a/media/libstagefright/codecs/common/Android.mk b/media/libstagefright/codecs/common/Android.mk
deleted file mode 100644
index b0010ff..0000000
--- a/media/libstagefright/codecs/common/Android.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-
-
-LOCAL_SRC_FILES := cmnMemory.c
-
-LOCAL_MODULE := libstagefright_enc_common
-
-LOCAL_ARM_MODE := arm
-
-LOCAL_STATIC_LIBRARIES :=
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/include
-
-LOCAL_CFLAGS += -Werror
-
-include $(BUILD_SHARED_LIBRARY)
-
-
-
diff --git a/media/libstagefright/codecs/flac/Android.bp b/media/libstagefright/codecs/flac/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/flac/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/flac/Android.mk b/media/libstagefright/codecs/flac/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/flac/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/flac/enc/Android.bp b/media/libstagefright/codecs/flac/enc/Android.bp
new file mode 100644
index 0000000..d1413f6
--- /dev/null
+++ b/media/libstagefright/codecs/flac/enc/Android.bp
@@ -0,0 +1,36 @@
+cc_library_shared {
+
+ srcs: ["SoftFlacEncoder.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ "external/flac/include",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ static_libs: ["libFLAC"],
+
+ name: "libstagefright_soft_flacenc",
+
+}
diff --git a/media/libstagefright/codecs/flac/enc/Android.mk b/media/libstagefright/codecs/flac/enc/Android.mk
deleted file mode 100644
index 8031bf6..0000000
--- a/media/libstagefright/codecs/flac/enc/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftFlacEncoder.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- external/flac/include
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libstagefright_foundation libutils liblog
-
-LOCAL_STATIC_LIBRARIES := \
- libFLAC \
-
-LOCAL_MODULE := libstagefright_soft_flacenc
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/g711/Android.bp b/media/libstagefright/codecs/g711/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/g711/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/g711/Android.mk b/media/libstagefright/codecs/g711/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/g711/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/g711/dec/Android.bp b/media/libstagefright/codecs/g711/dec/Android.bp
new file mode 100644
index 0000000..b78b689
--- /dev/null
+++ b/media/libstagefright/codecs/g711/dec/Android.bp
@@ -0,0 +1,30 @@
+cc_library_shared {
+ name: "libstagefright_soft_g711dec",
+
+ srcs: ["SoftG711.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libutils",
+ "liblog",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/codecs/g711/dec/Android.mk b/media/libstagefright/codecs/g711/dec/Android.mk
deleted file mode 100644
index b9a1f8c..0000000
--- a/media/libstagefright/codecs/g711/dec/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftG711.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libutils liblog
-
-LOCAL_MODULE := libstagefright_soft_g711dec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/gsm/Android.bp b/media/libstagefright/codecs/gsm/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/gsm/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/gsm/Android.mk b/media/libstagefright/codecs/gsm/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/gsm/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/gsm/dec/Android.bp b/media/libstagefright/codecs/gsm/dec/Android.bp
new file mode 100644
index 0000000..8e86ad6
--- /dev/null
+++ b/media/libstagefright/codecs/gsm/dec/Android.bp
@@ -0,0 +1,33 @@
+cc_library_shared {
+ name: "libstagefright_soft_gsmdec",
+
+ srcs: ["SoftGSM.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ "external/libgsm/inc",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libutils",
+ "liblog",
+ ],
+
+ static_libs: ["libgsm"],
+}
diff --git a/media/libstagefright/codecs/gsm/dec/Android.mk b/media/libstagefright/codecs/gsm/dec/Android.mk
deleted file mode 100644
index 401b56c..0000000
--- a/media/libstagefright/codecs/gsm/dec/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftGSM.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- external/libgsm/inc
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libutils liblog
-
-LOCAL_STATIC_LIBRARIES := \
- libgsm
-
-LOCAL_MODULE := libstagefright_soft_gsmdec
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/hevcdec/Android.bp b/media/libstagefright/codecs/hevcdec/Android.bp
new file mode 100644
index 0000000..cd75c97
--- /dev/null
+++ b/media/libstagefright/codecs/hevcdec/Android.bp
@@ -0,0 +1,36 @@
+cc_library_shared {
+ name: "libstagefright_soft_hevcdec",
+
+ static_libs: ["libhevcdec"],
+ srcs: ["SoftHEVC.cpp"],
+
+ include_dirs: [
+ "external/libhevc/decoder",
+ "external/libhevc/common",
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ // We need this because the current asm generates the following link error:
+ // requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC
+ // Bug: 16853291
+ ldflags: ["-Wl,-Bsymbolic"],
+}
diff --git a/media/libstagefright/codecs/hevcdec/Android.mk b/media/libstagefright/codecs/hevcdec/Android.mk
deleted file mode 100644
index 11c1b89..0000000
--- a/media/libstagefright/codecs/hevcdec/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-ifeq ($(if $(wildcard external/libhevc),1,0),1)
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libstagefright_soft_hevcdec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_LIBRARIES := libhevcdec
-LOCAL_SRC_FILES := SoftHEVC.cpp
-
-LOCAL_C_INCLUDES := $(TOP)/external/libhevc/decoder
-LOCAL_C_INCLUDES += $(TOP)/external/libhevc/common
-LOCAL_C_INCLUDES += $(TOP)/frameworks/av/media/libstagefright/include
-LOCAL_C_INCLUDES += $(TOP)/frameworks/native/include/media/openmax
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := libmedia
-LOCAL_SHARED_LIBRARIES += libstagefright_omx
-LOCAL_SHARED_LIBRARIES += libstagefright_foundation
-LOCAL_SHARED_LIBRARIES += libutils
-LOCAL_SHARED_LIBRARIES += liblog
-
-# We need this because the current asm generates the following link error:
-# requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC
-# Bug: 16853291
-LOCAL_LDFLAGS := -Wl,-Bsymbolic
-
-include $(BUILD_SHARED_LIBRARY)
-
-endif
diff --git a/media/libstagefright/codecs/m4v_h263/Android.bp b/media/libstagefright/codecs/m4v_h263/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/m4v_h263/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/m4v_h263/Android.mk b/media/libstagefright/codecs/m4v_h263/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/m4v_h263/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/m4v_h263/dec/Android.bp b/media/libstagefright/codecs/m4v_h263/dec/Android.bp
new file mode 100644
index 0000000..04ea075
--- /dev/null
+++ b/media/libstagefright/codecs/m4v_h263/dec/Android.bp
@@ -0,0 +1,106 @@
+cc_library_static {
+ name: "libstagefright_m4vh263dec",
+
+ srcs: [
+ "src/adaptive_smooth_no_mmx.cpp",
+ "src/bitstream.cpp",
+ "src/block_idct.cpp",
+ "src/cal_dc_scaler.cpp",
+ "src/chvr_filter.cpp",
+ "src/chv_filter.cpp",
+ "src/combined_decode.cpp",
+ "src/conceal.cpp",
+ "src/datapart_decode.cpp",
+ "src/dcac_prediction.cpp",
+ "src/dec_pred_intra_dc.cpp",
+ "src/deringing_chroma.cpp",
+ "src/deringing_luma.cpp",
+ "src/find_min_max.cpp",
+ "src/get_pred_adv_b_add.cpp",
+ "src/get_pred_outside.cpp",
+ "src/idct.cpp",
+ "src/idct_vca.cpp",
+ "src/mb_motion_comp.cpp",
+ "src/mb_utils.cpp",
+ "src/packet_util.cpp",
+ "src/post_filter.cpp",
+ "src/post_proc_semaphore.cpp",
+ "src/pp_semaphore_chroma_inter.cpp",
+ "src/pp_semaphore_luma.cpp",
+ "src/pvdec_api.cpp",
+ "src/scaling_tab.cpp",
+ "src/vlc_decode.cpp",
+ "src/vlc_dequant.cpp",
+ "src/vlc_tab.cpp",
+ "src/vop.cpp",
+ "src/zigzag_tab.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ local_include_dirs: ["src"],
+ export_include_dirs: ["include"],
+
+ cflags: [
+ "-DOSCL_EXPORT_REF=",
+ "-DOSCL_IMPORT_REF=",
+
+ "-Werror",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_mpeg4dec",
+
+ srcs: ["SoftMPEG4.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ local_include_dirs: ["src"],
+ export_include_dirs: ["include"],
+
+ cflags: [
+ "-DOSCL_EXPORT_REF=",
+ "-DOSCL_IMPORT_REF=",
+
+ "-Werror",
+ ],
+
+ static_libs: ["libstagefright_m4vh263dec"],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/codecs/m4v_h263/dec/Android.mk b/media/libstagefright/codecs/m4v_h263/dec/Android.mk
deleted file mode 100644
index fa9d11d..0000000
--- a/media/libstagefright/codecs/m4v_h263/dec/Android.mk
+++ /dev/null
@@ -1,83 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/adaptive_smooth_no_mmx.cpp \
- src/bitstream.cpp \
- src/block_idct.cpp \
- src/cal_dc_scaler.cpp \
- src/chvr_filter.cpp \
- src/chv_filter.cpp \
- src/combined_decode.cpp \
- src/conceal.cpp \
- src/datapart_decode.cpp \
- src/dcac_prediction.cpp \
- src/dec_pred_intra_dc.cpp \
- src/deringing_chroma.cpp \
- src/deringing_luma.cpp \
- src/find_min_max.cpp \
- src/get_pred_adv_b_add.cpp \
- src/get_pred_outside.cpp \
- src/idct.cpp \
- src/idct_vca.cpp \
- src/mb_motion_comp.cpp \
- src/mb_utils.cpp \
- src/packet_util.cpp \
- src/post_filter.cpp \
- src/post_proc_semaphore.cpp \
- src/pp_semaphore_chroma_inter.cpp \
- src/pp_semaphore_luma.cpp \
- src/pvdec_api.cpp \
- src/scaling_tab.cpp \
- src/vlc_decode.cpp \
- src/vlc_dequant.cpp \
- src/vlc_tab.cpp \
- src/vop.cpp \
- src/zigzag_tab.cpp
-
-
-LOCAL_MODULE := libstagefright_m4vh263dec
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(TOP)/frameworks/av/media/libstagefright/include \
- $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF=
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftMPEG4.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF=
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_m4vh263dec
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libstagefright_foundation libutils liblog
-
-LOCAL_MODULE := libstagefright_soft_mpeg4dec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/m4v_h263/enc/Android.bp b/media/libstagefright/codecs/m4v_h263/enc/Android.bp
new file mode 100644
index 0000000..da5b162
--- /dev/null
+++ b/media/libstagefright/codecs/m4v_h263/enc/Android.bp
@@ -0,0 +1,122 @@
+cc_library_static {
+ name: "libstagefright_m4vh263enc",
+
+ srcs: [
+ "src/bitstream_io.cpp",
+ "src/combined_encode.cpp",
+ "src/datapart_encode.cpp",
+ "src/dct.cpp",
+ "src/findhalfpel.cpp",
+ "src/fastcodemb.cpp",
+ "src/fastidct.cpp",
+ "src/fastquant.cpp",
+ "src/me_utils.cpp",
+ "src/mp4enc_api.cpp",
+ "src/rate_control.cpp",
+ "src/motion_est.cpp",
+ "src/motion_comp.cpp",
+ "src/sad.cpp",
+ "src/sad_halfpel.cpp",
+ "src/vlc_encode.cpp",
+ "src/vop.cpp",
+ ],
+
+ cflags: [
+ "-DBX_RC",
+ "-DOSCL_IMPORT_REF=",
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-DOSCL_EXPORT_REF=",
+
+ "-Werror",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+ local_include_dirs: ["src"],
+ export_include_dirs: ["include"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_mpeg4enc",
+
+ srcs: ["SoftMPEG4Encoder.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ "frameworks/native/include/media/hardware",
+ ],
+ local_include_dirs: ["src"],
+ export_include_dirs: ["include"],
+
+ cflags: [
+ "-DBX_RC",
+ "-DOSCL_IMPORT_REF=",
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-DOSCL_EXPORT_REF=",
+
+ "-Werror",
+ ],
+
+ static_libs: ["libstagefright_m4vh263enc"],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libutils",
+ "liblog",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
+//###############################################################################
+
+cc_test {
+ name: "libstagefright_m4vh263enc_test",
+ gtest: false,
+
+ srcs: ["test/m4v_h263_enc_test.cpp"],
+
+ local_include_dirs: ["src"],
+
+ cflags: [
+ "-DOSCL_EXPORT_REF=",
+ "-DOSCL_IMPORT_REF=",
+ "-DBX_RC",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ static_libs: ["libstagefright_m4vh263enc"],
+}
diff --git a/media/libstagefright/codecs/m4v_h263/enc/Android.mk b/media/libstagefright/codecs/m4v_h263/enc/Android.mk
deleted file mode 100644
index 8fac0dc..0000000
--- a/media/libstagefright/codecs/m4v_h263/enc/Android.mk
+++ /dev/null
@@ -1,101 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/bitstream_io.cpp \
- src/combined_encode.cpp \
- src/datapart_encode.cpp \
- src/dct.cpp \
- src/findhalfpel.cpp \
- src/fastcodemb.cpp \
- src/fastidct.cpp \
- src/fastquant.cpp \
- src/me_utils.cpp \
- src/mp4enc_api.cpp \
- src/rate_control.cpp \
- src/motion_est.cpp \
- src/motion_comp.cpp \
- src/sad.cpp \
- src/sad_halfpel.cpp \
- src/vlc_encode.cpp \
- src/vop.cpp
-
-
-LOCAL_MODULE := libstagefright_m4vh263enc
-
-LOCAL_CFLAGS := \
- -DBX_RC \
- -DOSCL_IMPORT_REF= -D"OSCL_UNUSED_ARG(x)=(void)(x)" -DOSCL_EXPORT_REF=
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(TOP)/frameworks/av/media/libstagefright/include \
- $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftMPEG4Encoder.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- frameworks/native/include/media/hardware \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(LOCAL_PATH)/../common/include \
- $(LOCAL_PATH)/../common
-
-LOCAL_CFLAGS := \
- -DBX_RC \
- -DOSCL_IMPORT_REF= -D"OSCL_UNUSED_ARG(x)=(void)(x)" -DOSCL_EXPORT_REF=
-
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_m4vh263enc
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia \
- libstagefright_omx \
- libutils \
- liblog \
-
-LOCAL_MODULE := libstagefright_soft_mpeg4enc
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- test/m4v_h263_enc_test.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include
-
-LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF= -DBX_RC
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_m4vh263enc
-
-LOCAL_MODULE := libstagefright_m4vh263enc_test
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/mp3dec/Android.bp b/media/libstagefright/codecs/mp3dec/Android.bp
new file mode 100644
index 0000000..0d0a2c6
--- /dev/null
+++ b/media/libstagefright/codecs/mp3dec/Android.bp
@@ -0,0 +1,146 @@
+cc_library_static {
+ name: "libstagefright_mp3dec",
+
+ srcs: [
+ "src/pvmp3_normalize.cpp",
+ "src/pvmp3_alias_reduction.cpp",
+ "src/pvmp3_crc.cpp",
+ "src/pvmp3_decode_header.cpp",
+ "src/pvmp3_decode_huff_cw.cpp",
+ "src/pvmp3_getbits.cpp",
+ "src/pvmp3_dequantize_sample.cpp",
+ "src/pvmp3_framedecoder.cpp",
+ "src/pvmp3_get_main_data_size.cpp",
+ "src/pvmp3_get_side_info.cpp",
+ "src/pvmp3_get_scale_factors.cpp",
+ "src/pvmp3_mpeg2_get_scale_data.cpp",
+ "src/pvmp3_mpeg2_get_scale_factors.cpp",
+ "src/pvmp3_mpeg2_stereo_proc.cpp",
+ "src/pvmp3_huffman_decoding.cpp",
+ "src/pvmp3_huffman_parsing.cpp",
+ "src/pvmp3_tables.cpp",
+ "src/pvmp3_imdct_synth.cpp",
+ "src/pvmp3_mdct_6.cpp",
+ "src/pvmp3_dct_6.cpp",
+ "src/pvmp3_poly_phase_synthesis.cpp",
+ "src/pvmp3_equalizer.cpp",
+ "src/pvmp3_seek_synch.cpp",
+ "src/pvmp3_stereo_proc.cpp",
+ "src/pvmp3_reorder.cpp",
+
+ "src/pvmp3_polyphase_filter_window.cpp",
+ "src/pvmp3_mdct_18.cpp",
+ "src/pvmp3_dct_9.cpp",
+ "src/pvmp3_dct_16.cpp",
+ ],
+
+ arch: {
+ arm: {
+ exclude_srcs: [
+ "src/pvmp3_polyphase_filter_window.cpp",
+ "src/pvmp3_mdct_18.cpp",
+ "src/pvmp3_dct_9.cpp",
+ "src/pvmp3_dct_16.cpp",
+ ],
+ srcs: [
+ "src/asm/pvmp3_polyphase_filter_window_gcc.s",
+ "src/asm/pvmp3_mdct_18_gcc.s",
+ "src/asm/pvmp3_dct_9_gcc.s",
+ "src/asm/pvmp3_dct_16_gcc.s",
+ ],
+
+ instruction_set: "arm",
+ },
+ },
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ include_dirs: ["frameworks/av/media/libstagefright/include"],
+ local_include_dirs: ["src"],
+ export_include_dirs: ["include"],
+
+ cflags: [
+ "-DOSCL_UNUSED_ARG(x)=(void)(x)",
+ "-Werror",
+ ],
+}
+
+//###############################################################################
+
+cc_library_shared {
+ name: "libstagefright_soft_mp3dec",
+
+ srcs: ["SoftMP3.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+ local_include_dirs: [
+ "src",
+ "include",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ static_libs: ["libstagefright_mp3dec"],
+}
+
+//###############################################################################
+cc_test {
+ name: "libstagefright_mp3dec_test",
+ gtest: false,
+
+ srcs: [
+ "test/mp3dec_test.cpp",
+ "test/mp3reader.cpp",
+ ],
+
+ local_include_dirs: [
+ "src",
+ "include",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ static_libs: [
+ "libstagefright_mp3dec",
+ "libsndfile",
+ ],
+
+ shared_libs: ["libaudioutils"],
+}
diff --git a/media/libstagefright/codecs/mp3dec/Android.mk b/media/libstagefright/codecs/mp3dec/Android.mk
deleted file mode 100644
index 3b27740..0000000
--- a/media/libstagefright/codecs/mp3dec/Android.mk
+++ /dev/null
@@ -1,117 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/pvmp3_normalize.cpp \
- src/pvmp3_alias_reduction.cpp \
- src/pvmp3_crc.cpp \
- src/pvmp3_decode_header.cpp \
- src/pvmp3_decode_huff_cw.cpp \
- src/pvmp3_getbits.cpp \
- src/pvmp3_dequantize_sample.cpp \
- src/pvmp3_framedecoder.cpp \
- src/pvmp3_get_main_data_size.cpp \
- src/pvmp3_get_side_info.cpp \
- src/pvmp3_get_scale_factors.cpp \
- src/pvmp3_mpeg2_get_scale_data.cpp \
- src/pvmp3_mpeg2_get_scale_factors.cpp \
- src/pvmp3_mpeg2_stereo_proc.cpp \
- src/pvmp3_huffman_decoding.cpp \
- src/pvmp3_huffman_parsing.cpp \
- src/pvmp3_tables.cpp \
- src/pvmp3_imdct_synth.cpp \
- src/pvmp3_mdct_6.cpp \
- src/pvmp3_dct_6.cpp \
- src/pvmp3_poly_phase_synthesis.cpp \
- src/pvmp3_equalizer.cpp \
- src/pvmp3_seek_synch.cpp \
- src/pvmp3_stereo_proc.cpp \
- src/pvmp3_reorder.cpp \
-
-LOCAL_SRC_FILES_arm += \
- src/asm/pvmp3_polyphase_filter_window_gcc.s \
- src/asm/pvmp3_mdct_18_gcc.s \
- src/asm/pvmp3_dct_9_gcc.s \
- src/asm/pvmp3_dct_16_gcc.s
-LOCAL_SRC_FILES_other_archs := \
- src/pvmp3_polyphase_filter_window.cpp \
- src/pvmp3_mdct_18.cpp \
- src/pvmp3_dct_9.cpp \
- src/pvmp3_dct_16.cpp
-
-LOCAL_SRC_FILES_arm64 := $(LOCAL_SRC_FILES_other_archs)
-LOCAL_SRC_FILES_mips := $(LOCAL_SRC_FILES_other_archs)
-LOCAL_SRC_FILES_mips64 := $(LOCAL_SRC_FILES_other_archs)
-LOCAL_SRC_FILES_x86 := $(LOCAL_SRC_FILES_other_archs)
-LOCAL_SRC_FILES_x86_64 := $(LOCAL_SRC_FILES_other_archs)
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include
-
-LOCAL_CFLAGS := \
- -D"OSCL_UNUSED_ARG(x)=(void)(x)"
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_MODULE := libstagefright_mp3dec
-
-LOCAL_ARM_MODE := arm
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftMP3.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libstagefright_foundation libutils liblog
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_mp3dec
-
-LOCAL_MODULE := libstagefright_soft_mp3dec
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
-
-################################################################################
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- test/mp3dec_test.cpp \
- test/mp3reader.cpp
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/src \
- $(LOCAL_PATH)/include \
- $(LOCAL_PATH)/test/include \
- $(call include-path-for, audio-utils)
-
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_mp3dec libsndfile
-
-LOCAL_SHARED_LIBRARIES := libaudioutils
-
-LOCAL_MODULE := libstagefright_mp3dec_test
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/mpeg2dec/Android.bp b/media/libstagefright/codecs/mpeg2dec/Android.bp
new file mode 100644
index 0000000..0144581
--- /dev/null
+++ b/media/libstagefright/codecs/mpeg2dec/Android.bp
@@ -0,0 +1,33 @@
+cc_library_shared {
+ name: "libstagefright_soft_mpeg2dec",
+
+ static_libs: ["libmpeg2dec"],
+ srcs: ["SoftMPEG2.cpp"],
+
+ include_dirs: [
+ "external/libmpeg2/decoder",
+ "external/libmpeg2/common",
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ ldflags: ["-Wl,-Bsymbolic"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/codecs/mpeg2dec/Android.mk b/media/libstagefright/codecs/mpeg2dec/Android.mk
deleted file mode 100644
index 0afc180..0000000
--- a/media/libstagefright/codecs/mpeg2dec/Android.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-ifeq ($(if $(wildcard external/libmpeg2),1,0),1)
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libstagefright_soft_mpeg2dec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_LIBRARIES := libmpeg2dec
-LOCAL_SRC_FILES := SoftMPEG2.cpp
-
-LOCAL_C_INCLUDES := $(TOP)/external/libmpeg2/decoder
-LOCAL_C_INCLUDES += $(TOP)/external/libmpeg2/common
-LOCAL_C_INCLUDES += $(TOP)/frameworks/av/media/libstagefright/include
-LOCAL_C_INCLUDES += $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_SHARED_LIBRARIES := libmedia
-LOCAL_SHARED_LIBRARIES += libstagefright_omx
-LOCAL_SHARED_LIBRARIES += libstagefright_foundation
-LOCAL_SHARED_LIBRARIES += libutils
-LOCAL_SHARED_LIBRARIES += liblog
-
-LOCAL_LDFLAGS := -Wl,-Bsymbolic
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
-
-endif
diff --git a/media/libstagefright/codecs/on2/Android.bp b/media/libstagefright/codecs/on2/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/on2/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/on2/Android.mk b/media/libstagefright/codecs/on2/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/on2/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/on2/dec/Android.bp b/media/libstagefright/codecs/on2/dec/Android.bp
new file mode 100644
index 0000000..c4242c2
--- /dev/null
+++ b/media/libstagefright/codecs/on2/dec/Android.bp
@@ -0,0 +1,33 @@
+cc_library_shared {
+ name: "libstagefright_soft_vpxdec",
+
+ srcs: ["SoftVPX.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ static_libs: ["libvpx"],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/codecs/on2/dec/Android.mk b/media/libstagefright/codecs/on2/dec/Android.mk
deleted file mode 100644
index 8bc7dbc..0000000
--- a/media/libstagefright/codecs/on2/dec/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftVPX.cpp
-
-LOCAL_C_INCLUDES := \
- $(TOP)/external/libvpx/libvpx \
- $(TOP)/external/libvpx/libvpx/vpx_codec \
- $(TOP)/external/libvpx/libvpx/vpx_ports \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
-
-LOCAL_STATIC_LIBRARIES := \
- libvpx
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libstagefright_foundation libutils liblog
-
-LOCAL_MODULE := libstagefright_soft_vpxdec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/on2/enc/Android.bp b/media/libstagefright/codecs/on2/enc/Android.bp
new file mode 100644
index 0000000..114c1be
--- /dev/null
+++ b/media/libstagefright/codecs/on2/enc/Android.bp
@@ -0,0 +1,35 @@
+cc_library_shared {
+ name: "libstagefright_soft_vpxenc",
+
+ srcs: [
+ "SoftVPXEncoder.cpp",
+ "SoftVP8Encoder.cpp",
+ "SoftVP9Encoder.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ static_libs: ["libvpx"],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+}
diff --git a/media/libstagefright/codecs/on2/enc/Android.mk b/media/libstagefright/codecs/on2/enc/Android.mk
deleted file mode 100644
index 747aae0..0000000
--- a/media/libstagefright/codecs/on2/enc/Android.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftVPXEncoder.cpp \
- SoftVP8Encoder.cpp \
- SoftVP9Encoder.cpp
-
-LOCAL_C_INCLUDES := \
- $(TOP)/external/libvpx/libvpx \
- $(TOP)/external/libvpx/libvpx/vpx_codec \
- $(TOP)/external/libvpx/libvpx/vpx_ports \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
-
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_STATIC_LIBRARIES := \
- libvpx
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libstagefright_foundation libutils liblog \
-
-LOCAL_MODULE := libstagefright_soft_vpxenc
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/on2/h264dec/Android.bp b/media/libstagefright/codecs/on2/h264dec/Android.bp
new file mode 100644
index 0000000..95c2075
--- /dev/null
+++ b/media/libstagefright/codecs/on2/h264dec/Android.bp
@@ -0,0 +1,137 @@
+cc_library_shared {
+ name: "libstagefright_soft_h264dec",
+
+ srcs: [
+ "source/h264bsd_transform.c",
+ "source/h264bsd_util.c",
+ "source/h264bsd_byte_stream.c",
+ "source/h264bsd_seq_param_set.c",
+ "source/h264bsd_pic_param_set.c",
+ "source/h264bsd_slice_header.c",
+ "source/h264bsd_slice_data.c",
+ "source/h264bsd_macroblock_layer.c",
+ "source/h264bsd_stream.c",
+ "source/h264bsd_vlc.c",
+ "source/h264bsd_cavlc.c",
+ "source/h264bsd_nal_unit.c",
+ "source/h264bsd_neighbour.c",
+ "source/h264bsd_storage.c",
+ "source/h264bsd_slice_group_map.c",
+ "source/h264bsd_intra_prediction.c",
+ "source/h264bsd_inter_prediction.c",
+ "source/h264bsd_reconstruct.c",
+ "source/h264bsd_dpb.c",
+ "source/h264bsd_image.c",
+ "source/h264bsd_deblocking.c",
+ "source/h264bsd_conceal.c",
+ "source/h264bsd_vui.c",
+ "source/h264bsd_pic_order_cnt.c",
+ "source/h264bsd_decoder.c",
+ "source/H264SwDecApi.c",
+ "SoftAVC.cpp",
+ ],
+
+ arch: {
+ arm: {
+ instruction_set: "arm",
+
+ armv7_a_neon: {
+ cflags: [
+ "-DH264DEC_NEON",
+ "-DH264DEC_OMXDL",
+ ],
+ srcs: [
+ "source/arm_neon_asm_gcc/h264bsdWriteMacroblock.S",
+ "source/arm_neon_asm_gcc/h264bsdClearMbLayer.S",
+ "source/arm_neon_asm_gcc/h264bsdFillRow7.S",
+ "source/arm_neon_asm_gcc/h264bsdCountLeadingZeros.S",
+ "source/arm_neon_asm_gcc/h264bsdFlushBits.S",
+
+ "omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DeblockChroma_I.c",
+ "omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DeblockLuma_I.c",
+ "omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_InterpolateChroma.c",
+ "omxdl/arm_neon/vc/m4p10/src/armVCM4P10_CAVLCTables.c",
+ "omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeChromaDcCoeffsToPairCAVLC.c",
+ "omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c",
+ "omxdl/arm_neon/src/armCOMM_Bitstream.c",
+ "omxdl/arm_neon/src/armCOMM.c",
+
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingChroma_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingLuma_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Interpolate_Chroma_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_Align_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_Copy_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_DiagCopy_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfDiagHorVer4x4_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingChroma_VerEdge_I_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingLuma_HorEdge_I_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingLuma_VerEdge_I_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_InterpolateLuma_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Average_4x_Align_unsafe_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DecodeCoeffsToPair_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DequantTables_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_QuantTables_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_TransformResidual4x4_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_UnpackBlock4x4_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantLumaDCFromPair_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntra_16x16_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntra_4x4_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntraChroma_8x8_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_DequantTransformResidualFromPairAndAdd_s.S",
+ "omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantChromaDCFromPair_s.S",
+ ],
+
+ local_include_dirs: [
+ "source/arm_neon_asm_gcc",
+
+ "omxdl/arm_neon/api",
+ "omxdl/arm_neon/vc/api",
+ "omxdl/arm_neon/vc/m4p10/api",
+ ],
+ },
+ },
+ },
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ export_include_dirs: ["inc"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+}
+
+//####################################################################
+// test utility: decoder
+//####################################################################
+//#
+//# Test application
+//#
+cc_binary {
+ name: "decoder",
+
+ srcs: ["source/DecTestBench.c"],
+
+ shared_libs: ["libstagefright_soft_h264dec"],
+}
diff --git a/media/libstagefright/codecs/on2/h264dec/Android.mk b/media/libstagefright/codecs/on2/h264dec/Android.mk
deleted file mode 100644
index 10147ec..0000000
--- a/media/libstagefright/codecs/on2/h264dec/Android.mk
+++ /dev/null
@@ -1,129 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_ARM_MODE := arm
-
-LOCAL_SRC_FILES := \
- ./source/h264bsd_transform.c \
- ./source/h264bsd_util.c \
- ./source/h264bsd_byte_stream.c \
- ./source/h264bsd_seq_param_set.c \
- ./source/h264bsd_pic_param_set.c \
- ./source/h264bsd_slice_header.c \
- ./source/h264bsd_slice_data.c \
- ./source/h264bsd_macroblock_layer.c \
- ./source/h264bsd_stream.c \
- ./source/h264bsd_vlc.c \
- ./source/h264bsd_cavlc.c \
- ./source/h264bsd_nal_unit.c \
- ./source/h264bsd_neighbour.c \
- ./source/h264bsd_storage.c \
- ./source/h264bsd_slice_group_map.c \
- ./source/h264bsd_intra_prediction.c \
- ./source/h264bsd_inter_prediction.c \
- ./source/h264bsd_reconstruct.c \
- ./source/h264bsd_dpb.c \
- ./source/h264bsd_image.c \
- ./source/h264bsd_deblocking.c \
- ./source/h264bsd_conceal.c \
- ./source/h264bsd_vui.c \
- ./source/h264bsd_pic_order_cnt.c \
- ./source/h264bsd_decoder.c \
- ./source/H264SwDecApi.c \
- SoftAVC.cpp \
-
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/./inc \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
-
-MY_ASM := \
- ./source/arm_neon_asm_gcc/h264bsdWriteMacroblock.S \
- ./source/arm_neon_asm_gcc/h264bsdClearMbLayer.S \
- ./source/arm_neon_asm_gcc/h264bsdFillRow7.S \
- ./source/arm_neon_asm_gcc/h264bsdCountLeadingZeros.S \
- ./source/arm_neon_asm_gcc/h264bsdFlushBits.S
-
-
-MY_OMXDL_C_SRC := \
- ./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DeblockChroma_I.c \
- ./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DeblockLuma_I.c \
- ./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_InterpolateChroma.c \
- ./omxdl/arm_neon/vc/m4p10/src/armVCM4P10_CAVLCTables.c \
- ./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeChromaDcCoeffsToPairCAVLC.c \
- ./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c \
- ./omxdl/arm_neon/src/armCOMM_Bitstream.c \
- ./omxdl/arm_neon/src/armCOMM.c
-
-MY_OMXDL_ASM_SRC := \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingChroma_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingLuma_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Interpolate_Chroma_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_Align_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_Copy_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_DiagCopy_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfDiagHorVer4x4_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingChroma_VerEdge_I_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingLuma_HorEdge_I_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingLuma_VerEdge_I_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_InterpolateLuma_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Average_4x_Align_unsafe_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DecodeCoeffsToPair_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DequantTables_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_QuantTables_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_TransformResidual4x4_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_UnpackBlock4x4_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantLumaDCFromPair_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntra_16x16_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntra_4x4_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntraChroma_8x8_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_DequantTransformResidualFromPairAndAdd_s.S \
- ./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantChromaDCFromPair_s.S \
-
-
-ifeq ($(ARCH_ARM_HAVE_NEON),true)
- LOCAL_ARM_NEON := true
- LOCAL_CFLAGS_arm := -DH264DEC_NEON -DH264DEC_OMXDL
- LOCAL_SRC_FILES_arm := $(MY_ASM) $(MY_OMXDL_C_SRC) $(MY_OMXDL_ASM_SRC)
- LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/./source/arm_neon_asm_gcc
- LOCAL_C_INCLUDES_arm += $(LOCAL_PATH)/./omxdl/arm_neon/api \
- $(LOCAL_PATH)/./omxdl/arm_neon/vc/api \
- $(LOCAL_PATH)/./omxdl/arm_neon/vc/m4p10/api
-endif
-
-LOCAL_SANITIZE := signed-integer-overflow cfi
-
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia libstagefright_omx libstagefright_foundation libutils liblog \
-
-LOCAL_MODULE := libstagefright_soft_h264dec
-
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
-
-#####################################################################
-# test utility: decoder
-#####################################################################
-##
-## Test application
-##
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := ./source/DecTestBench.c
-
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc
-
-LOCAL_SHARED_LIBRARIES := libstagefright_soft_h264dec
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE := decoder
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/codecs/opus/Android.bp b/media/libstagefright/codecs/opus/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/opus/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/opus/Android.mk b/media/libstagefright/codecs/opus/Android.mk
deleted file mode 100644
index 365b179..0000000
--- a/media/libstagefright/codecs/opus/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/media/libstagefright/codecs/opus/dec/Android.bp b/media/libstagefright/codecs/opus/dec/Android.bp
new file mode 100644
index 0000000..5d9c4c8
--- /dev/null
+++ b/media/libstagefright/codecs/opus/dec/Android.bp
@@ -0,0 +1,30 @@
+cc_library_shared {
+ name: "libstagefright_soft_opusdec",
+
+ srcs: ["SoftOpus.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libopus",
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/codecs/opus/dec/Android.mk b/media/libstagefright/codecs/opus/dec/Android.mk
deleted file mode 100644
index 5b887b3..0000000
--- a/media/libstagefright/codecs/opus/dec/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftOpus.cpp
-
-LOCAL_C_INCLUDES := \
- external/libopus/include \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
-
-LOCAL_SHARED_LIBRARIES := \
- libopus libmedia libstagefright_omx \
- libstagefright_foundation libutils liblog
-
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_MODULE := libstagefright_soft_opusdec
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/raw/Android.bp b/media/libstagefright/codecs/raw/Android.bp
new file mode 100644
index 0000000..c64027b
--- /dev/null
+++ b/media/libstagefright/codecs/raw/Android.bp
@@ -0,0 +1,30 @@
+cc_library_shared {
+ name: "libstagefright_soft_rawdec",
+
+ srcs: ["SoftRaw.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+}
diff --git a/media/libstagefright/codecs/raw/Android.mk b/media/libstagefright/codecs/raw/Android.mk
deleted file mode 100644
index 5fe260b..0000000
--- a/media/libstagefright/codecs/raw/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftRaw.cpp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx libstagefright_foundation libutils liblog
-
-LOCAL_MODULE := libstagefright_soft_rawdec
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/vorbis/Android.bp b/media/libstagefright/codecs/vorbis/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/media/libstagefright/codecs/vorbis/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/libstagefright/codecs/vorbis/Android.mk b/media/libstagefright/codecs/vorbis/Android.mk
deleted file mode 100644
index 2e43120..0000000
--- a/media/libstagefright/codecs/vorbis/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/codecs/vorbis/dec/Android.bp b/media/libstagefright/codecs/vorbis/dec/Android.bp
new file mode 100644
index 0000000..1a4de60
--- /dev/null
+++ b/media/libstagefright/codecs/vorbis/dec/Android.bp
@@ -0,0 +1,28 @@
+cc_library_shared {
+ name: "libstagefright_soft_vorbisdec",
+
+ srcs: ["SoftVorbis.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libvorbisidec",
+ "libmedia",
+ "libstagefright_omx",
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ },
+}
diff --git a/media/libstagefright/codecs/vorbis/dec/Android.mk b/media/libstagefright/codecs/vorbis/dec/Android.mk
deleted file mode 100644
index 3d72d3a..0000000
--- a/media/libstagefright/codecs/vorbis/dec/Android.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- SoftVorbis.cpp
-
-LOCAL_C_INCLUDES := \
- external/tremolo \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
-
-LOCAL_SHARED_LIBRARIES := \
- libvorbisidec libmedia libstagefright_omx \
- libstagefright_foundation libutils liblog
-
-LOCAL_MODULE := libstagefright_soft_vorbisdec
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow unsigned-integer-overflow
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/colorconversion/Android.bp b/media/libstagefright/colorconversion/Android.bp
new file mode 100644
index 0000000..11fe5eb
--- /dev/null
+++ b/media/libstagefright/colorconversion/Android.bp
@@ -0,0 +1,28 @@
+cc_library_static {
+ name: "libstagefright_color_conversion",
+
+ srcs: [
+ "ColorConverter.cpp",
+ "SoftwareRenderer.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: ["libui"],
+
+ static_libs: ["libyuv_static"],
+
+ cflags: ["-Werror"],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/colorconversion/Android.mk b/media/libstagefright/colorconversion/Android.mk
deleted file mode 100644
index 1e7a4cc..0000000
--- a/media/libstagefright/colorconversion/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- ColorConverter.cpp \
- SoftwareRenderer.cpp
-
-LOCAL_C_INCLUDES := \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/hardware/msm7k \
- $(TOP)/external/libyuv/files/include
-
-LOCAL_SHARED_LIBRARIES := \
- libui \
-
-LOCAL_STATIC_LIBRARIES := \
- libyuv_static \
-
-LOCAL_CFLAGS += -Werror
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_MODULE:= libstagefright_color_conversion
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/media/libstagefright/filters/Android.bp b/media/libstagefright/filters/Android.bp
new file mode 100644
index 0000000..e944224
--- /dev/null
+++ b/media/libstagefright/filters/Android.bp
@@ -0,0 +1,38 @@
+cc_library_static {
+ name: "libstagefright_mediafilter",
+
+ srcs: [
+ "ColorConvert.cpp",
+ "GraphicBufferListener.cpp",
+ "IntrinsicBlurFilter.cpp",
+ "MediaFilter.cpp",
+ "RSFilter.cpp",
+ "SaturationFilter.cpp",
+ "saturationARGB.rs",
+ "SimpleFilter.cpp",
+ "ZeroFilter.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wall",
+ ],
+
+ shared_libs: [
+ "libgui",
+ "libmedia",
+ "libhidlmemory",
+ ],
+
+ sanitize: {
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/filters/Android.mk b/media/libstagefright/filters/Android.mk
deleted file mode 100644
index d4ecfcc..0000000
--- a/media/libstagefright/filters/Android.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- ColorConvert.cpp \
- GraphicBufferListener.cpp \
- IntrinsicBlurFilter.cpp \
- MediaFilter.cpp \
- RSFilter.cpp \
- SaturationFilter.cpp \
- saturationARGB.rs \
- SimpleFilter.cpp \
- ZeroFilter.cpp
-
-LOCAL_C_INCLUDES := \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/frameworks/rs/cpp \
- $(TOP)/frameworks/rs \
-
-intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,)
-LOCAL_C_INCLUDES += $(intermediates)
-
-LOCAL_CFLAGS += -Wno-multichar -Werror -Wall
-
-LOCAL_SHARED_LIBRARIES := \
- libgui \
- libmedia \
- libhidlmemory \
-
-LOCAL_MODULE:= libstagefright_mediafilter
-
-LOCAL_SANITIZE := cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/media/libstagefright/foundation/Android.bp b/media/libstagefright/foundation/Android.bp
index 9b2e7fa..2f6c054 100644
--- a/media/libstagefright/foundation/Android.bp
+++ b/media/libstagefright/foundation/Android.bp
@@ -37,7 +37,10 @@
"libpowermanager",
],
- export_shared_lib_headers: ["libbinder", "libui"],
+ export_shared_lib_headers: [
+ "libbinder",
+ "libui",
+ ],
cflags: [
"-Wno-multichar",
@@ -52,7 +55,7 @@
],
cfi: true,
diag: {
- cfi: true,
+ cfi: true,
},
},
}
diff --git a/media/libstagefright/http/Android.bp b/media/libstagefright/http/Android.bp
new file mode 100644
index 0000000..5d90b0a
--- /dev/null
+++ b/media/libstagefright/http/Android.bp
@@ -0,0 +1,43 @@
+cc_library_shared {
+ name: "libstagefright_http_support",
+
+ srcs: ["HTTPHelper.cpp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/openmax",
+ "frameworks/base/core/jni",
+ ],
+
+ shared_libs: [
+ "liblog",
+ "libutils",
+ "libbinder",
+ "libandroid_runtime",
+ "libmedia",
+ ],
+
+ export_include_dirs: ["."],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+}
diff --git a/media/libstagefright/http/Android.mk b/media/libstagefright/http/Android.mk
deleted file mode 100644
index 9c16f40..0000000
--- a/media/libstagefright/http/Android.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-ifneq ($(TARGET_BUILD_PDK), true)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- HTTPHelper.cpp \
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/frameworks/base/core/jni \
-
-LOCAL_SHARED_LIBRARIES := \
- liblog libutils libbinder \
- libandroid_runtime \
- libmedia
-
-LOCAL_MODULE:= libstagefright_http_support
-
-LOCAL_CFLAGS += -Wno-multichar
-
-LOCAL_CFLAGS += -Werror -Wall
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
-
-endif
diff --git a/media/libstagefright/httplive/Android.bp b/media/libstagefright/httplive/Android.bp
new file mode 100644
index 0000000..e415334
--- /dev/null
+++ b/media/libstagefright/httplive/Android.bp
@@ -0,0 +1,43 @@
+cc_library_shared {
+ name: "libstagefright_httplive",
+
+ srcs: [
+ "HTTPDownloader.cpp",
+ "LiveDataSource.cpp",
+ "LiveSession.cpp",
+ "M3UParser.cpp",
+ "PlaylistFetcher.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "liblog",
+ "libbinder",
+ "libcrypto",
+ "libcutils",
+ "libmedia",
+ "libstagefright",
+ "libstagefright_foundation",
+ "libutils",
+ ],
+}
diff --git a/media/libstagefright/httplive/Android.mk b/media/libstagefright/httplive/Android.mk
deleted file mode 100644
index 1903d10..0000000
--- a/media/libstagefright/httplive/Android.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- HTTPDownloader.cpp \
- LiveDataSource.cpp \
- LiveSession.cpp \
- M3UParser.cpp \
- PlaylistFetcher.cpp \
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS += -Werror -Wall
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- liblog \
- libbinder \
- libcrypto \
- libcutils \
- libmedia \
- libstagefright \
- libstagefright_foundation \
- libutils \
-
-LOCAL_MODULE:= libstagefright_httplive
-
-ifeq ($(TARGET_ARCH),arm)
- LOCAL_CFLAGS += -Wno-psabi
-endif
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/id3/Android.bp b/media/libstagefright/id3/Android.bp
new file mode 100644
index 0000000..30008d9
--- /dev/null
+++ b/media/libstagefright/id3/Android.bp
@@ -0,0 +1,53 @@
+cc_library_static {
+ name: "libstagefright_id3",
+
+ srcs: ["ID3.cpp"],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: ["libmedia"],
+}
+
+//###############################################################################
+
+cc_test {
+ name: "testid3",
+ gtest: false,
+
+ srcs: ["testid3.cpp"],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ shared_libs: [
+ "libstagefright",
+ "libutils",
+ "liblog",
+ "libbinder",
+ "libstagefright_foundation",
+ ],
+
+ static_libs: ["libstagefright_id3"],
+
+ sanitize: {
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+}
diff --git a/media/libstagefright/id3/Android.mk b/media/libstagefright/id3/Android.mk
deleted file mode 100644
index 0b8e686..0000000
--- a/media/libstagefright/id3/Android.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- ID3.cpp
-
-LOCAL_CFLAGS += -Werror -Wall
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := libmedia
-
-LOCAL_MODULE := libstagefright_id3
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- testid3.cpp
-
-LOCAL_CFLAGS += -Werror -Wall
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright libutils liblog libbinder libstagefright_foundation
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_id3
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE := testid3
-
-LOCAL_SANITIZE := cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/matroska/Android.bp b/media/libstagefright/matroska/Android.bp
new file mode 100644
index 0000000..a5891c3
--- /dev/null
+++ b/media/libstagefright/matroska/Android.bp
@@ -0,0 +1,30 @@
+cc_library_static {
+ name: "libstagefright_matroska",
+
+ srcs: ["MatroskaExtractor.cpp"],
+
+ include_dirs: [
+ "external/libvpx/libwebm",
+ "frameworks/native/include/media/openmax",
+ "frameworks/av/media/libstagefright/include",
+ ],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: ["libmedia"],
+}
diff --git a/media/libstagefright/matroska/Android.mk b/media/libstagefright/matroska/Android.mk
deleted file mode 100644
index 7de5dbe..0000000
--- a/media/libstagefright/matroska/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- MatroskaExtractor.cpp
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/external/libvpx/libwebm \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/frameworks/av/media/libstagefright/include \
-
-LOCAL_CFLAGS += -Wno-multichar -Werror -Wall
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := libmedia
-
-LOCAL_MODULE:= libstagefright_matroska
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/media/libstagefright/mpeg2ts/Android.bp b/media/libstagefright/mpeg2ts/Android.bp
new file mode 100644
index 0000000..96eb5bf
--- /dev/null
+++ b/media/libstagefright/mpeg2ts/Android.bp
@@ -0,0 +1,39 @@
+cc_library_static {
+ name: "libstagefright_mpeg2ts",
+
+ srcs: [
+ "AnotherPacketSource.cpp",
+ "ATSParser.cpp",
+ "CasManager.cpp",
+ "ESQueue.cpp",
+ "HlsSampleDecryptor.cpp",
+ "MPEG2PSExtractor.cpp",
+ "MPEG2TSExtractor.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "unsigned-integer-overflow",
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ shared_libs: [
+ "libcrypto",
+ "libmedia",
+ ],
+}
diff --git a/media/libstagefright/mpeg2ts/Android.mk b/media/libstagefright/mpeg2ts/Android.mk
deleted file mode 100644
index 20acfe7..0000000
--- a/media/libstagefright/mpeg2ts/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- AnotherPacketSource.cpp \
- ATSParser.cpp \
- CasManager.cpp \
- ESQueue.cpp \
- HlsSampleDecryptor.cpp \
- MPEG2PSExtractor.cpp \
- MPEG2TSExtractor.cpp \
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS += -Werror -Wall
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SHARED_LIBRARIES := \
- libcrypto \
- libmedia \
-
-LOCAL_MODULE:= libstagefright_mpeg2ts
-
-ifeq ($(TARGET_ARCH),arm)
- LOCAL_CFLAGS += -Wno-psabi
-endif
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/media/libstagefright/omx/Android.bp b/media/libstagefright/omx/Android.bp
new file mode 100644
index 0000000..ff5b841
--- /dev/null
+++ b/media/libstagefright/omx/Android.bp
@@ -0,0 +1,79 @@
+cc_library_shared {
+ name: "libstagefright_omx",
+
+ srcs: [
+ "FrameDropper.cpp",
+ "GraphicBufferSource.cpp",
+ "BWGraphicBufferSource.cpp",
+ "OMX.cpp",
+ "OMXMaster.cpp",
+ "OMXNodeInstance.cpp",
+ "OMXUtils.cpp",
+ "SimpleSoftOMXComponent.cpp",
+ "SoftOMXComponent.cpp",
+ "SoftOMXPlugin.cpp",
+ "SoftVideoDecoderOMXComponent.cpp",
+ "SoftVideoEncoderOMXComponent.cpp",
+ "1.0/Omx.cpp",
+ "1.0/OmxStore.cpp",
+ "1.0/WGraphicBufferProducer.cpp",
+ "1.0/WProducerListener.cpp",
+ "1.0/WGraphicBufferSource.cpp",
+ "1.0/WOmxNode.cpp",
+ "1.0/WOmxObserver.cpp",
+ "1.0/WOmxBufferSource.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/hardware",
+ // TODO: export this?
+ "frameworks/native/include/media/openmax",
+ ],
+
+ shared_libs: [
+ "libbase",
+ "libbinder",
+ "libmedia",
+ "libutils",
+ "liblog",
+ "libui",
+ "libgui",
+ "libcutils",
+ "libstagefright_foundation",
+ "libdl",
+ "libhidlbase",
+ "libhidlmemory",
+ "libhidltransport",
+ "libstagefright_xmlparser@1.0",
+ "android.hidl.memory@1.0",
+ "android.hardware.media@1.0",
+ "android.hardware.media.omx@1.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.bufferqueue@1.0",
+ ],
+
+ export_shared_lib_headers: ["android.hidl.memory@1.0"],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ "-Wno-unused-parameter",
+ "-Wno-documentation",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
+//###############################################################################
+
+subdirs = ["tests"]
diff --git a/media/libstagefright/omx/Android.mk b/media/libstagefright/omx/Android.mk
deleted file mode 100644
index a007b41..0000000
--- a/media/libstagefright/omx/Android.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- FrameDropper.cpp \
- GraphicBufferSource.cpp \
- BWGraphicBufferSource.cpp \
- OMX.cpp \
- OMXMaster.cpp \
- OMXNodeInstance.cpp \
- OMXUtils.cpp \
- SimpleSoftOMXComponent.cpp \
- SoftOMXComponent.cpp \
- SoftOMXPlugin.cpp \
- SoftVideoDecoderOMXComponent.cpp \
- SoftVideoEncoderOMXComponent.cpp \
- 1.0/Omx.cpp \
- 1.0/OmxStore.cpp \
- 1.0/WGraphicBufferProducer.cpp \
- 1.0/WProducerListener.cpp \
- 1.0/WGraphicBufferSource.cpp \
- 1.0/WOmxNode.cpp \
- 1.0/WOmxObserver.cpp \
- 1.0/WOmxBufferSource.cpp \
-
-LOCAL_C_INCLUDES += \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/hardware \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/system/libhidl/base/include \
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libbinder \
- libmedia \
- libutils \
- liblog \
- libui \
- libgui \
- libcutils \
- libstagefright_foundation \
- libdl \
- libhidlbase \
- libhidlmemory \
- libhidltransport \
- libstagefright_xmlparser@1.0 \
- android.hidl.memory@1.0 \
- android.hardware.media@1.0 \
- android.hardware.media.omx@1.0 \
- android.hardware.graphics.common@1.0 \
- android.hardware.graphics.bufferqueue@1.0 \
-
-LOCAL_EXPORT_C_INCLUDES := \
- $(TOP)/frameworks/av/include
-
-LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \
- android.hidl.memory@1.0
-
-LOCAL_MODULE:= libstagefright_omx
-LOCAL_CFLAGS += -Werror -Wall -Wno-unused-parameter -Wno-documentation
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-include $(BUILD_SHARED_LIBRARY)
-
-################################################################################
-
-include $(call all-makefiles-under,$(LOCAL_PATH)/hal)
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/libstagefright/omx/tests/Android.bp b/media/libstagefright/omx/tests/Android.bp
new file mode 100644
index 0000000..46428e3
--- /dev/null
+++ b/media/libstagefright/omx/tests/Android.bp
@@ -0,0 +1,51 @@
+cc_test {
+ name: "omx_tests",
+ gtest: false,
+
+ srcs: ["OMXHarness.cpp"],
+
+ shared_libs: [
+ "libstagefright",
+ "libbinder",
+ "libmedia",
+ "libutils",
+ "liblog",
+ "libstagefright_foundation",
+ "libcutils",
+ "libhidlbase",
+ "libhidlmemory",
+ "android.hidl.allocator@1.0",
+ "android.hidl.memory@1.0",
+ "android.hardware.media.omx@1.0",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ compile_multilib: "32",
+}
+
+cc_test {
+ name: "FrameDropper_test",
+
+ srcs: ["FrameDropper_test.cpp"],
+
+ shared_libs: [
+ "libstagefright_omx",
+ "libutils",
+ ],
+
+ include_dirs: ["frameworks/av/media/libstagefright/omx"],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+}
diff --git a/media/libstagefright/omx/tests/Android.mk b/media/libstagefright/omx/tests/Android.mk
deleted file mode 100644
index 5941b94..0000000
--- a/media/libstagefright/omx/tests/Android.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES = \
- OMXHarness.cpp \
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright \
- libbinder \
- libmedia \
- libutils \
- liblog \
- libstagefright_foundation \
- libcutils \
- libhidlbase \
- libhidlmemory \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- android.hardware.media.omx@1.0 \
-
-LOCAL_C_INCLUDES := \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/system/libhidl/base/include \
-
-LOCAL_CFLAGS += -Werror -Wall
-
-LOCAL_MODULE := omx_tests
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_32_BIT_ONLY := true
-
-include $(BUILD_EXECUTABLE)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := FrameDropper_test
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
- FrameDropper_test.cpp \
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright_omx \
- libutils \
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright/omx \
-
-LOCAL_CFLAGS += -Werror -Wall
-
-include $(BUILD_NATIVE_TEST)
diff --git a/media/libstagefright/rtsp/Android.bp b/media/libstagefright/rtsp/Android.bp
new file mode 100644
index 0000000..debd07e
--- /dev/null
+++ b/media/libstagefright/rtsp/Android.bp
@@ -0,0 +1,96 @@
+cc_library_static {
+ name: "libstagefright_rtsp",
+
+ srcs: [
+ "AAMRAssembler.cpp",
+ "AAVCAssembler.cpp",
+ "AH263Assembler.cpp",
+ "AMPEG2TSAssembler.cpp",
+ "AMPEG4AudioAssembler.cpp",
+ "AMPEG4ElementaryAssembler.cpp",
+ "APacketSource.cpp",
+ "ARawAudioAssembler.cpp",
+ "ARTPAssembler.cpp",
+ "ARTPConnection.cpp",
+ "ARTPSource.cpp",
+ "ARTPWriter.cpp",
+ "ARTSPConnection.cpp",
+ "ASessionDescription.cpp",
+ "SDPLoader.cpp",
+ ],
+
+ shared_libs: [
+ "libcrypto",
+ "libmedia",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ arch: {
+ arm: {
+ cflags: ["-Wno-psabi"],
+ },
+ },
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
+//###############################################################################
+
+cc_test {
+ name: "rtp_test",
+ gtest: false,
+ enabled: false,
+
+ srcs: ["rtp_test.cpp"],
+
+ shared_libs: [
+ "libstagefright",
+ "liblog",
+ "libutils",
+ "libbinder",
+ "libstagefright_foundation",
+ "libmedia",
+ ],
+
+ static_libs: ["libstagefright_rtsp"],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/av/cmds/stagefright",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/rtsp/Android.mk b/media/libstagefright/rtsp/Android.mk
deleted file mode 100644
index 02344c9..0000000
--- a/media/libstagefright/rtsp/Android.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- AAMRAssembler.cpp \
- AAVCAssembler.cpp \
- AH263Assembler.cpp \
- AMPEG2TSAssembler.cpp \
- AMPEG4AudioAssembler.cpp \
- AMPEG4ElementaryAssembler.cpp \
- APacketSource.cpp \
- ARawAudioAssembler.cpp \
- ARTPAssembler.cpp \
- ARTPConnection.cpp \
- ARTPSource.cpp \
- ARTPWriter.cpp \
- ARTSPConnection.cpp \
- ASessionDescription.cpp \
- SDPLoader.cpp \
-
-LOCAL_SHARED_LIBRARIES += libcrypto libmedia
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_MODULE:= libstagefright_rtsp
-
-ifeq ($(TARGET_ARCH),arm)
- LOCAL_CFLAGS += -Wno-psabi
-endif
-
-LOCAL_CFLAGS += -Werror -Wall
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-include $(BUILD_STATIC_LIBRARY)
-
-################################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- rtp_test.cpp \
-
-LOCAL_SHARED_LIBRARIES := \
- libstagefright liblog libutils libbinder libstagefright_foundation libmedia
-
-LOCAL_STATIC_LIBRARIES := \
- libstagefright_rtsp
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright \
- frameworks/av/cmds/stagefright \
- $(TOP)/frameworks/native/include/media/openmax
-
-LOCAL_CFLAGS += -Wno-multichar -Werror -Wall
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE:= rtp_test
-
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-# include $(BUILD_EXECUTABLE)
diff --git a/media/libstagefright/tests/Android.bp b/media/libstagefright/tests/Android.bp
new file mode 100644
index 0000000..35119c2
--- /dev/null
+++ b/media/libstagefright/tests/Android.bp
@@ -0,0 +1,68 @@
+// Build the unit tests.
+
+cc_test {
+ name: "SurfaceMediaSource_test",
+
+ srcs: [
+ "SurfaceMediaSource_test.cpp",
+ "DummyRecorder.cpp",
+ ],
+
+ shared_libs: [
+ "libEGL",
+ "libGLESv2",
+ "libbinder",
+ "libcutils",
+ "libgui",
+ "libmedia",
+ "libstagefright",
+ "libstagefright_foundation",
+ "libstagefright_omx",
+ "libsync",
+ "libui",
+ "libutils",
+ "liblog",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ "frameworks/native/include/media/hardware",
+ ],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ compile_multilib: "32",
+}
+
+cc_test {
+ name: "MediaCodecListOverrides_test",
+
+ srcs: ["MediaCodecListOverrides_test.cpp"],
+
+ shared_libs: [
+ "libmedia",
+ "libstagefright",
+ "libstagefright_foundation",
+ "libstagefright_omx",
+ "libutils",
+ "liblog",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/av/media/libstagefright/include",
+ "frameworks/native/include/media/openmax",
+ ],
+
+ compile_multilib: "32",
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+}
diff --git a/media/libstagefright/tests/Android.mk b/media/libstagefright/tests/Android.mk
deleted file mode 100644
index c6963b1..0000000
--- a/media/libstagefright/tests/Android.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-# Build the unit tests.
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_MODULE := SurfaceMediaSource_test
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
- SurfaceMediaSource_test.cpp \
- DummyRecorder.cpp \
-
-LOCAL_SHARED_LIBRARIES := \
- libEGL \
- libGLESv2 \
- libbinder \
- libcutils \
- libgui \
- libmedia \
- libstagefright \
- libstagefright_foundation \
- libstagefright_omx \
- libsync \
- libui \
- libutils \
- liblog
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright \
- frameworks/av/media/libstagefright/include \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/frameworks/native/include/media/hardware \
-
-LOCAL_CFLAGS += -Werror -Wall
-
-LOCAL_32_BIT_ONLY := true
-
-include $(BUILD_NATIVE_TEST)
-
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_MODULE := MediaCodecListOverrides_test
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
- MediaCodecListOverrides_test.cpp \
-
-LOCAL_SHARED_LIBRARIES := \
- libmedia \
- libstagefright \
- libstagefright_foundation \
- libstagefright_omx \
- libutils \
- liblog
-
-LOCAL_C_INCLUDES := \
- frameworks/av/media/libstagefright \
- frameworks/av/media/libstagefright/include \
- frameworks/native/include/media/openmax \
-
-LOCAL_32_BIT_ONLY := true
-
-LOCAL_CFLAGS += -Werror -Wall
-
-include $(BUILD_NATIVE_TEST)
-
-# Include subdirectory makefiles
-# ============================================================
-
-# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
-# team really wants is to build the stuff defined by this makefile.
-ifeq (,$(ONE_SHOT_MAKEFILE))
-include $(call first-makefiles-under,$(LOCAL_PATH))
-endif
diff --git a/media/libstagefright/timedtext/Android.bp b/media/libstagefright/timedtext/Android.bp
new file mode 100644
index 0000000..a5ad6c6
--- /dev/null
+++ b/media/libstagefright/timedtext/Android.bp
@@ -0,0 +1,27 @@
+cc_library_static {
+ name: "libstagefright_timedtext",
+
+ srcs: ["TextDescriptions.cpp"],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ ],
+
+ shared_libs: ["libmedia"],
+}
diff --git a/media/libstagefright/timedtext/Android.mk b/media/libstagefright/timedtext/Android.mk
deleted file mode 100644
index 70ae46b..0000000
--- a/media/libstagefright/timedtext/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- TextDescriptions.cpp \
-
-LOCAL_CFLAGS += -Wno-multichar -Werror -Wall
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/include/media/stagefright/timedtext \
- $(TOP)/frameworks/av/media/libstagefright
-
-LOCAL_SHARED_LIBRARIES := libmedia
-
-LOCAL_MODULE:= libstagefright_timedtext
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/media/libstagefright/webm/Android.bp b/media/libstagefright/webm/Android.bp
new file mode 100644
index 0000000..f968788
--- /dev/null
+++ b/media/libstagefright/webm/Android.bp
@@ -0,0 +1,37 @@
+cc_library_static {
+ name: "libstagefright_webm",
+
+ cppflags: ["-D__STDINT_LIMITS"],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ "unsigned-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+
+ srcs: [
+ "EbmlUtil.cpp",
+ "WebmElement.cpp",
+ "WebmFrame.cpp",
+ "WebmFrameThread.cpp",
+ "WebmWriter.cpp",
+ ],
+
+ include_dirs: ["frameworks/av/include"],
+
+ shared_libs: [
+ "libstagefright_foundation",
+ "libutils",
+ "liblog",
+ ],
+}
diff --git a/media/libstagefright/webm/Android.mk b/media/libstagefright/webm/Android.mk
deleted file mode 100644
index 0d55de9..0000000
--- a/media/libstagefright/webm/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_CPPFLAGS += -D__STDINT_LIMITS
-
-LOCAL_CFLAGS += -Werror -Wall
-LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_SRC_FILES:= EbmlUtil.cpp \
- WebmElement.cpp \
- WebmFrame.cpp \
- WebmFrameThread.cpp \
- WebmWriter.cpp
-
-
-LOCAL_C_INCLUDES += $(TOP)/frameworks/av/include
-
-LOCAL_SHARED_LIBRARIES += libstagefright_foundation \
- libstagefright \
- libutils \
- liblog
-
-LOCAL_MODULE:= libstagefright_webm
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/media/libstagefright/wifi-display/Android.bp b/media/libstagefright/wifi-display/Android.bp
new file mode 100644
index 0000000..be23359
--- /dev/null
+++ b/media/libstagefright/wifi-display/Android.bp
@@ -0,0 +1,50 @@
+cc_library_shared {
+ name: "libstagefright_wfd",
+
+ srcs: [
+ "MediaSender.cpp",
+ "Parameters.cpp",
+ "rtp/RTPSender.cpp",
+ "source/Converter.cpp",
+ "source/MediaPuller.cpp",
+ "source/PlaybackSession.cpp",
+ "source/RepeaterSource.cpp",
+ "source/TSPacketizer.cpp",
+ "source/WifiDisplaySource.cpp",
+ "VideoFormats.cpp",
+ ],
+
+ include_dirs: [
+ "frameworks/av/media/libstagefright",
+ "frameworks/native/include/media/openmax",
+ "frameworks/native/include/media/hardware",
+ "frameworks/av/media/libstagefright/mpeg2ts",
+ ],
+
+ shared_libs: [
+ "libbinder",
+ "libcutils",
+ "liblog",
+ "libmedia",
+ "libstagefright",
+ "libstagefright_foundation",
+ "libui",
+ "libutils",
+ ],
+
+ cflags: [
+ "-Wno-multichar",
+ "-Werror",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
diff --git a/media/libstagefright/wifi-display/Android.mk b/media/libstagefright/wifi-display/Android.mk
deleted file mode 100644
index a1b4aec..0000000
--- a/media/libstagefright/wifi-display/Android.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- MediaSender.cpp \
- Parameters.cpp \
- rtp/RTPSender.cpp \
- source/Converter.cpp \
- source/MediaPuller.cpp \
- source/PlaybackSession.cpp \
- source/RepeaterSource.cpp \
- source/TSPacketizer.cpp \
- source/WifiDisplaySource.cpp \
- VideoFormats.cpp \
-
-LOCAL_C_INCLUDES:= \
- $(TOP)/frameworks/av/media/libstagefright \
- $(TOP)/frameworks/native/include/media/openmax \
- $(TOP)/frameworks/native/include/media/hardware \
- $(TOP)/frameworks/av/media/libstagefright/mpeg2ts \
-
-LOCAL_SHARED_LIBRARIES:= \
- libbinder \
- libcutils \
- liblog \
- libmedia \
- libstagefright \
- libstagefright_foundation \
- libui \
- libutils \
-
-LOCAL_CFLAGS += -Wno-multichar -Werror -Wall
-LOCAL_SANITIZE := signed-integer-overflow cfi
-LOCAL_SANITIZE_DIAG := cfi
-
-LOCAL_MODULE:= libstagefright_wfd
-
-LOCAL_MODULE_TAGS:= optional
-
-include $(BUILD_SHARED_LIBRARY)