summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEthan Chen <intervigil@gmail.com>2014-08-23 16:05:11 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2014-10-25 16:59:40 +0000
commit1a2dacae47b0d3cf97c8ab4480009a1d607ffb36 (patch)
tree58b18f1e67b38148e234912814f99c06267b5122
parent4f90a3b75b7e6ac6327ce8d58e7ff0875874d108 (diff)
shinano: Add Qualcomm audio effects
Change-Id: I7823bad9f64e5be6253e4db0944fa07993e64ddc
-rw-r--r--audio/audio_effects.conf280
-rw-r--r--proprietary-files.txt3
-rw-r--r--shinano.mk11
3 files changed, 293 insertions, 1 deletions
diff --git a/audio/audio_effects.conf b/audio/audio_effects.conf
new file mode 100644
index 0000000..1f0b5cf
--- /dev/null
+++ b/audio/audio_effects.conf
@@ -0,0 +1,280 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+# libraries {
+# <lib name> {
+# path <lib path>
+# }
+# }
+libraries {
+ bundle {
+ path /system/lib/soundfx/libbundlewrapper.so
+ }
+ reverb {
+ path /system/lib/soundfx/libreverbwrapper.so
+ }
+ qcbassboost {
+ path /vendor/lib/soundfx/libqcbassboost.so
+ }
+ qcvirt {
+ path /vendor/lib/soundfx/libqcvirt.so
+ }
+ qcreverb {
+ path /vendor/lib/soundfx/libqcreverb.so
+ }
+ visualizer_sw {
+ path /system/lib/soundfx/libvisualizer.so
+ }
+ visualizer_hw {
+ path /system/lib/soundfx/libqcomvisualizer.so
+ }
+ downmix {
+ path /system/lib/soundfx/libdownmix.so
+ }
+ loudness_enhancer {
+ path /system/lib/soundfx/libldnhncr.so
+ }
+ proxy {
+ path /system/lib/soundfx/libeffectproxy.so
+ }
+ offload_bundle {
+ path /system/lib/soundfx/libqcompostprocbundle.so
+ }
+ audio_pre_processing {
+ path /system/lib/soundfx/libqcomvoiceprocessing.so
+ }
+}
+
+# Default pre-processing library. Add to audio_effect.conf "libraries" section if
+# audio HAL implements support for default software audio pre-processing effects
+#
+# pre_processing {
+# path /system/lib/soundfx/libaudiopreprocessing.so
+# }
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+# effects {
+# <fx name> {
+# library <lib name>
+# uuid <effect uuid>
+# }
+# ...
+# }
+
+effects {
+
+# additions for the proxy implementation
+# Proxy implementation
+ #effectname {
+ #library proxy
+ #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+ # SW implemetation of the effect. Added as a node under the proxy to
+ # indicate this as a sub effect.
+ #libsw {
+ #library libSW
+ #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
+ #} End of SW effect
+
+ # HW implementation of the effect. Added as a node under the proxy to
+ # indicate this as a sub effect.
+ #libhw {
+ #library libHW
+ #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
+ #}End of HW effect
+ #} End of effect proxy
+
+ bassboost {
+ library proxy
+ uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
+
+ libsw {
+ library qcbassboost
+ uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
+ }
+
+ libhw {
+ library offload_bundle
+ uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
+ }
+ }
+ virtualizer {
+ library proxy
+ uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
+
+ libsw {
+ library qcvirt
+ uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e
+ }
+
+ libhw {
+ library offload_bundle
+ uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
+ }
+ }
+ equalizer {
+ library proxy
+ uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
+
+ libsw {
+ library bundle
+ uuid ce772f20-847d-11df-bb17-0002a5d5c51b
+ }
+
+ libhw {
+ library offload_bundle
+ uuid a0dac280-401c-11e3-9379-0002a5d5c51b
+ }
+ }
+ volume {
+ library bundle
+ uuid 119341a0-8469-11df-81f9-0002a5d5c51b
+ }
+ reverb_env_aux {
+ library proxy
+ uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
+
+ libsw {
+ library qcreverb
+ uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
+ }
+
+ libhw {
+ library offload_bundle
+ uuid 79a18026-18fd-4185-8233-0002a5d5c51b
+ }
+ }
+ reverb_env_ins {
+ library proxy
+ uuid b707403a-a1c1-4291-9573-0002a5d5c51b
+
+ libsw {
+ library qcreverb
+ uuid 791fff8b-8129-4655-83a4-59bc61034c3a
+ }
+
+ libhw {
+ library offload_bundle
+ uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
+ }
+ }
+ reverb_pre_aux {
+ library proxy
+ uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
+
+ libsw {
+ library qcreverb
+ uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
+ }
+
+ libhw {
+ library offload_bundle
+ uuid 6987be09-b142-4b41-9056-0002a5d5c51b
+ }
+ }
+ reverb_pre_ins {
+ library proxy
+ uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
+
+ libsw {
+ library qcreverb
+ uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
+ }
+
+ libhw {
+ library offload_bundle
+ uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
+ }
+ }
+ visualizer {
+# library proxy
+# uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
+
+# libsw {
+ library visualizer_sw
+ uuid d069d9e0-8329-11df-9168-0002a5d5c51b
+# }
+
+# libhw {
+# library visualizer_hw
+# uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
+# }
+ }
+ downmix {
+ library downmix
+ uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
+ }
+ loudness_enhancer {
+ library loudness_enhancer
+ uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
+ }
+# aec {
+# library audio_pre_processing
+# uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
+# }
+# ns {
+# library audio_pre_processing
+# uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
+# }
+}
+
+# Default pre-processing effects. Add to audio_effect.conf "effects" section if
+# audio HAL implements support for them.
+#
+# agc {
+# library pre_processing
+# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
+# }
+# aec {
+# library pre_processing
+# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
+# }
+# ns {
+# library pre_processing
+# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
+# }
+
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+# pre_processing {
+# <input source name> {
+# <fx name> {
+# <param 1 name> {
+# param {
+# int|short|float|bool|string <value>
+# [ int|short|float|bool|string <value> ]
+# ...
+# }
+# value {
+# int|short|float|bool|string <value>
+# [ int|short|float|bool|string <value> ]
+# ...
+# }
+# }
+# <param 2 name > {<param> <value>}
+# ...
+# }
+# ...
+# }
+# ...
+# }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 484db79..f7d7147 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -3,6 +3,9 @@ vendor/lib/libacdbloader.so
vendor/lib/libacdbrtac.so
vendor/lib/libadiertac.so
vendor/lib/libaudcal.so
+vendor/lib/soundfx/libqcbassboost.so
+vendor/lib/soundfx/libqcreverb.so
+vendor/lib/soundfx/libqcvirt.so
# Audio BLOBS
lib/libaudioroute.so
diff --git a/shinano.mk b/shinano.mk
index 5061c48..15f5be1 100644
--- a/shinano.mk
+++ b/shinano.mk
@@ -69,10 +69,19 @@ PRODUCT_PACKAGES += \
audio.primary.msm8974 \
audio.r_submix.default \
audio.usb.default \
- audio_policy.msm8974 \
+ audio_policy.msm8974
+
+PRODUCT_PACKAGES += \
libaudio-resampler \
+ libqcompostprocbundle \
+ libqcomvisualizer \
+ libqcomvoiceprocessing \
tinymix
+# Audio configuration
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf
+
# Display
PRODUCT_PACKAGES += \
hwcomposer.msm8974 \