Add back audio and media files.
diff --git a/audio/Bluetooth_cal.acdb b/audio/Bluetooth_cal.acdb
new file mode 100644
index 0000000..102c5c9
--- /dev/null
+++ b/audio/Bluetooth_cal.acdb
Binary files differ
diff --git a/audio/General_cal.acdb b/audio/General_cal.acdb
new file mode 100644
index 0000000..61a4eea
--- /dev/null
+++ b/audio/General_cal.acdb
Binary files differ
diff --git a/audio/Global_cal.acdb b/audio/Global_cal.acdb
new file mode 100644
index 0000000..e756dec
--- /dev/null
+++ b/audio/Global_cal.acdb
Binary files differ
diff --git a/audio/Handset_cal.acdb b/audio/Handset_cal.acdb
new file mode 100644
index 0000000..aef5b68
--- /dev/null
+++ b/audio/Handset_cal.acdb
Binary files differ
diff --git a/audio/Hdmi_cal.acdb b/audio/Hdmi_cal.acdb
new file mode 100644
index 0000000..8b16778
--- /dev/null
+++ b/audio/Hdmi_cal.acdb
Binary files differ
diff --git a/audio/Headset_cal.acdb b/audio/Headset_cal.acdb
new file mode 100644
index 0000000..cfbbb83
--- /dev/null
+++ b/audio/Headset_cal.acdb
Binary files differ
diff --git a/audio/Speaker_cal.acdb b/audio/Speaker_cal.acdb
new file mode 100644
index 0000000..2531775
--- /dev/null
+++ b/audio/Speaker_cal.acdb
Binary files differ
diff --git a/audio/audio_effects.conf b/audio/audio_effects.conf
new file mode 100644
index 0000000..9c641b0
--- /dev/null
+++ b/audio/audio_effects.conf
@@ -0,0 +1,274 @@
+# 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 {
+# This is a proxy library that will be an abstraction for
+# the HW and SW effects
+  proxy {
+    path /system/lib/soundfx/libeffectproxy.so
+  }
+# This is the HW implementation library for the effect
+  offload {
+    path /system/lib/soundfx/libaudioeffectoffload.so
+  }
+  bundle {
+    path /system/lib/soundfx/libbundlewrapper.so
+  }
+  reverb {
+    path /system/lib/soundfx/libreverbwrapper.so
+  }
+  visualizer_sw {
+    path /system/lib/soundfx/libvisualizer.so
+  }
+  visualizer_hw {
+    path /system/lib/soundfx/libqcomvisualizer.so
+  }
+  downmix {
+    path /system/lib/soundfx/libdownmix.so
+  }
+  mysound {
+    path /system/lib/libmysound.so
+  }
+  myspace {
+    path /system/lib/soundfx/libmyspace.so
+  }
+  soundalive {
+    path /system/lib/libaudiosa.so
+  }
+  soundalive_sec {
+    path /system/lib/soundfx/libaudiosa_sec.so
+  }
+  loudness_enhancer {
+    path /system/lib/soundfx/libldnhncr.so
+  }
+  pre_processing {
+    path /system/lib/soundfx/libqcomvoiceprocessing.so
+  }
+  v4a_fx {
+    path /system/lib/soundfx/libv4a_fx_ics.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 {
+  soundalive {
+    library proxy
+    uuid  05227ea0-50bb-11e3-ac69-0002a5d5c51b
+      libsw {
+        library soundalive_sec
+        uuid  cf65eb39-ce2f-48a8-a903-ceb818c06745
+      }
+      libhw {
+        library offload
+        uuid  0b2dbc60-50bb-11e3-988b-0002a5d5c51b
+      }
+  }
+  bassboost {
+    library proxy
+    uuid  10e50dc0-50bb-11e3-a9b0-0002a5d5c51b
+      libsw {
+        library soundalive
+        uuid a926a540-418a-11e1-b2f1-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  16a70d80-50bb-11e3-8959-0002a5d5c51b
+      }
+  }
+  virtualizer {
+    library proxy
+    uuid  1db5b180-50bb-11e3-888e-0002a5d5c51b
+      libsw {
+        library soundalive
+        uuid c747f6a0-418a-11e1-a621-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  23318080-50bb-11e3-9101-0002a5d5c51b
+      }
+  }
+  equalizer {
+    library proxy
+    uuid  295b42c0-50bb-11e3-a6ed-0002a5d5c51b
+      libsw {
+        library soundalive
+        uuid c117b70-f97f-11e0-be50-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  2f2afe20-50bb-11e3-bc97-0002a5d5c51b
+      }
+  }
+  volume {
+    library bundle
+    uuid 119341a0-8469-11df-81f9-0002a5d5c51b
+  }
+  reverb_env_aux {
+    library reverb
+    uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
+  }
+  reverb_env_ins {
+    library reverb
+    uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
+  }
+  reverb_pre_aux {
+    library reverb
+    uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
+  }
+  reverb_pre_ins {
+    library reverb
+    uuid 172cdf00-a3bc-11df-a72f-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
+  }
+  dha {
+    library proxy
+    uuid  37155c20-50bb-11e3-9fac-0002a5d5c51b
+      libsw {
+        library mysound
+        uuid 263a88e0-50b1-11e2-bcfd-0800200c9a66
+      }
+      libhw {
+        library offload
+        uuid  3ef69260-50bb-11e3-931e-0002a5d5c51b
+      }
+  }
+  sa3d {
+    library proxy
+    uuid  1c91fca0-664a-11e4-b8c2-0002a5d5c51b
+      libsw {
+        library myspace
+        uuid 3462a6e0-655a-11e4-8b67-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  c7a84e61-eebe-4fcc-bc53-efcb841b4625
+      }
+  }
+  loudness_enhancer {
+    library loudness_enhancer
+    uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
+  }
+  aec {
+    library pre_processing
+    uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
+  }
+  ns {
+    library pre_processing
+    uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
+  }
+  v4a_standard_fx {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+}
+
+# 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 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
+#  }
+#  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
+#
+  pre_processing {
+    voice_communication {
+      aec {}
+    }
+  }
+  output_session_processing {
+    music {
+        soundalive {}
+        dha {}
+        sa3d {}
+    }
+    ring {
+        sa3d {}
+    }
+  }
diff --git a/audio/audio_policy.conf b/audio/audio_policy.conf
new file mode 100644
index 0000000..b7b2336
--- /dev/null
+++ b/audio/audio_policy.conf
@@ -0,0 +1,133 @@
+# Global configuration section: lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+
+global_configuration {
+  attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER
+  default_output_device AUDIO_DEVICE_OUT_SPEAKER
+  attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_THIRD_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_VOICE_CALL
+}
+
+# audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+  primary {
+    outputs {
+      primary {
+        sampling_rates 44100|48000
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_EXTERNAL_WIFI|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
+        flags AUDIO_OUTPUT_FLAG_PRIMARY
+      }
+      fast {
+         sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
+         channel_masks AUDIO_CHANNEL_OUT_STEREO
+         formats AUDIO_FORMAT_PCM_16_BIT
+         devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_EXTERNAL_WIFI|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
+         flags AUDIO_OUTPUT_FLAG_FAST
+      }
+      hdmi {
+        sampling_rates 48000
+        channel_masks dynamic
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_AUX_DIGITAL
+        flags AUDIO_OUTPUT_FLAG_MULTI_CH
+      }
+      compress_offload {
+        sampling_rates 11025|16000|22050|32000|44100|48000
+        channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_2POINT1|AUDIO_CHANNEL_OUT_QUAD|AUDIO_CHANNEL_OUT_PENTA|AUDIO_CHANNEL_OUT_5POINT1|AUDIO_CHANNEL_OUT_6POINT1|AUDIO_CHANNEL_OUT_7POINT1
+        formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3
+        devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_EXTERNAL_WIFI|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
+        flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+      }
+    }
+    inputs {
+      primary {
+        sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
+        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK|AUDIO_CHANNEL_IN_VOICE_UPLINK|AUDIO_CHANNEL_IN_VOICE_DNLINK
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADPHONE|AUDIO_DEVICE_IN_AUX_DIGITAL|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_THIRD_MIC|AUDIO_DEVICE_IN_FM
+      }
+    }
+  }
+  a2dp {
+    outputs {
+      a2dp {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_ALL_A2DP
+      }
+    }
+    inputs {
+      a2dp {
+        sampling_rates 44100|48000
+        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP
+      }
+    }
+  }
+  usb {
+    outputs {
+      usb_accessory {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_USB_ACCESSORY
+      }
+      usb_device {
+        sampling_rates 44100|48000
+        channel_masks dynamic
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
+      }
+    }
+  }
+  tms {
+    outputs {
+      tms {
+        sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_EXTERNAL_TMS
+      }
+    }
+    inputs {
+      tms {
+        sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
+        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_IN_EXTERNAL_TMS
+      }
+    }
+  }
+  r_submix {
+    outputs {
+      submix {
+        sampling_rates 48000
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
+      }
+    }
+    inputs {
+      submix {
+        sampling_rates 48000
+        channel_masks AUDIO_CHANNEL_IN_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
+      }
+    }
+  }
+}
diff --git a/audio/mixer_paths.xml b/audio/mixer_paths.xml
new file mode 100644
index 0000000..07be1e5
--- /dev/null
+++ b/audio/mixer_paths.xml
@@ -0,0 +1,1917 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<mixer>
+    <!-- Grand Prime LTE US TMO(without external amp) ================================================ -->
+    <!-- These are the initial mixer settings -->
+    <!-- reset RX/TX Start -->
+    <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="0" />
+    <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="0" />
+    <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="0" />
+    <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="0" />
+    <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="0" />
+    <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="0" />
+    <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="0" />
+    <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="0" />
+    <ctl name="PRI_MI2S_RX_Voice Mixer VoWLAN" value="0" />
+
+    <ctl name="PRI_MI2S_RX Port Mixer TERT_MI2S_TX" value="0" />
+
+    <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="0" />
+    <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia4" value="0" />
+    <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia5" value="0" />
+    <ctl name="QUAT_MI2S_RX_Voice Mixer Voice2" value="0" />
+    <ctl name="QUAT_MI2S_RX_Voice Mixer CSVoice" value="0" />
+    <ctl name="QUAT_MI2S_RX_Voice Mixer Voip" value="0" />
+    <ctl name="QUAT_MI2S_RX_Voice Mixer QCHAT" value="0" />
+    <ctl name="QUAT_MI2S_RX Port Mixer INTERNAL_FM_TX" value="0" />
+    <ctl name="QUAT_MI2S_RX_Voice Mixer VoWLAN" value="0" />
+
+    <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
+    <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0" />
+    <ctl name="AFE_PCM_RX_Voice Mixer VoWLAN" value="0" />
+
+    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="0" />
+    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoWLAN" value="0" />
+
+    <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="0" />
+    <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="0" />
+    <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="0" />
+
+    <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+    <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
+
+    <ctl name="RX2 MIX2 INP2" value="ZERO" />
+    <ctl name="RX2 MIX2 INP1" value="ZERO" />
+    <ctl name="RX1 MIX2 INP2" value="ZERO" />
+    <ctl name="RX1 MIX2 INP1" value="ZERO" />
+    <ctl name="RX3 MIX1 INP2" value="ZERO" />
+    <ctl name="RX3 MIX1 INP1" value="ZERO" />
+    <ctl name="RX2 MIX1 INP2" value="ZERO" />
+    <ctl name="RX2 MIX1 INP1" value="ZERO" />
+    <ctl name="RX1 MIX1 INP2" value="ZERO" />
+    <ctl name="RX1 MIX1 INP1" value="ZERO" />
+
+    <ctl name="RX1 Digital Volume" value="84" />
+    <ctl name="RX2 Digital Volume" value="84" />
+    <ctl name="RX3 Digital Volume" value="84" />
+
+    <ctl name="Voice Rx Device Mute" id="0" value="0" />
+    <ctl name="Voice Rx Device Mute" id="1" value="-1" />
+    <ctl name="Voice Rx Device Mute" id="2" value="20" />
+    <ctl name="Voice Rx Gain" id="0" value="0" />
+    <ctl name="Voice Rx Gain" id="1" value="-1" />
+    <ctl name="Voice Rx Gain" id="2" value="20" />
+    <ctl name="Voip Rx Gain" id="0" value="0" />
+    <ctl name="Voip Rx Gain" id="1" value="20" />
+
+    <ctl name="Internal FM RX Volume" value="0" />
+    <ctl name="EAR PA Gain" value="POS_6_DB" />
+    <ctl name="SPK DAC Switch" value="0" />
+    <ctl name="EAR_S" value="ZERO" />
+    <ctl name="HPHL" value="ZERO" />
+    <ctl name="HPHR" value="ZERO" />
+    <ctl name="MI2S_RX Channels" value="One" />
+
+    <ctl name="HDMI_RX_Voice Mixer VoWLAN" value="0" />
+
+    <!-- reset TX part -->
+    <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="0" />
+    <ctl name="MultiMedia1 Mixer QUAT_MI2S_TX" value="0" />
+    <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="0" />
+    <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="0" />
+    <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" />
+    <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" />
+    <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="0" />
+
+    <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="0" />
+    <ctl name="Voice_Tx Mixer PRI_MI2S_TX_Voice" value="0" />
+
+<ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="0" />
+    <ctl name="Voice_Tx Mixer QUAT_MI2S_TX_Voice" value="0" />
+
+    <ctl name="Voice2_Tx Mixer PRI_MI2S_TX_Voice2" value="0" />
+    <ctl name="Voice2_Tx Mixer QUAT_MI2S_TX_Voice2" value="0" />
+    <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
+    <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="0" />
+
+    <ctl name="Voip_Tx Mixer PRI_MI2S_TX_Voip" value="0" />
+    <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="0" />
+    <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="0" />
+
+<ctl name="Voip_Tx Mixer QUAT_MI2S_TX_Voip" value="0" />
+
+    <ctl name="VoWLAN_Tx Mixer TERT_MI2S_TX_VoWLAN" value="0" />
+    <ctl name="VoWLAN_Tx Mixer QUAT_MI2S_TX_VoWLAN" value="0" />
+    <ctl name="VoWLAN_Tx Mixer INTERNAL_BT_SCO_TX_VoWLAN" value="0" />
+    <ctl name="VoWLAN_Tx Mixer AFE_PCM_TX_VoWLAN" value="0" />
+
+    <ctl name="QCHAT_Tx Mixer PRI_MI2S_TX_QCHAT" value="0" />
+    <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+    <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="0" />
+
+    <ctl name="Voice Tx Mute" id="0" value="0" />
+    <ctl name="Voice Tx Mute" id="1" value="-1" />
+    <ctl name="Voice Tx Mute" id="2" value="500" />
+    <ctl name="Voip Tx Mute" id="0" value="0" />
+    <ctl name="Voip Tx Mute" id="1" value="500" />
+
+    <ctl name="IIR1 INP1 Volume" value="84" />
+    <ctl name="IIR1 INP2 Volume" value="84" />
+    <ctl name="IIR1 INP3 Volume" value="84" />
+    <ctl name="IIR1 INP4 Volume" value="84" />
+    <ctl name="ADC1 Volume" value="13" />
+    <ctl name="ADC2 Volume" value="13" />
+    <ctl name="DEC1 Volume" value="84" />
+    <ctl name="DEC2 Volume" value="84" />
+
+    <ctl name="DEC2 MUX" value="ZERO" />
+    <ctl name="DEC1 MUX" value="ZERO" />
+    <ctl name="ADC2 MUX" value="ZERO" />
+
+    <ctl name="MI2S_TX Channels" value="One" />
+
+<ctl name="VOC_EXT_EC MUX" value="NONE" />
+
+    <ctl name="Internal BTSCO SampleRate" value="8000" />
+
+    <ctl name="Voip Mode Config" value="12" />
+    <ctl name="Voip Rate Config" value="0" />
+    <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
+    <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
+    <ctl name="Voip Dtx Mode" value="0" />
+
+    <ctl name="TTY Mode" value="Off" />
+    
+<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+    <ctl name="MICBIAS CAPLESS Switch" value="0" />
+
+    <!-- IIR -->
+    <ctl name="IIR1 Band1" id ="0" value="268435456" />
+    <ctl name="IIR1 Band1" id ="1" value="0" />
+    <ctl name="IIR1 Band1" id ="2" value="0" />
+    <ctl name="IIR1 Band1" id ="3" value="0" />
+    <ctl name="IIR1 Band1" id ="4" value="0" />
+    <ctl name="IIR1 Band2" id ="0" value="268435456" />
+    <ctl name="IIR1 Band2" id ="1" value="0" />
+    <ctl name="IIR1 Band2" id ="2" value="0" />
+    <ctl name="IIR1 Band2" id ="3" value="0" />
+    <ctl name="IIR1 Band2" id ="4" value="0" />
+    <ctl name="IIR1 Band3" id ="0" value="268435456" />
+    <ctl name="IIR1 Band3" id ="1" value="0" />
+    <ctl name="IIR1 Band3" id ="2" value="0" />
+    <ctl name="IIR1 Band3" id ="3" value="0" />
+    <ctl name="IIR1 Band3" id ="4" value="0" />
+    <ctl name="IIR1 Band4" id ="0" value="268435456" />
+    <ctl name="IIR1 Band4" id ="1" value="0" />
+    <ctl name="IIR1 Band4" id ="2" value="0" />
+    <ctl name="IIR1 Band4" id ="3" value="0" />
+    <ctl name="IIR1 Band4" id ="4" value="0" />
+    <ctl name="IIR1 Band5" id ="0" value="268435456" />
+    <ctl name="IIR1 Band5" id ="1" value="0" />
+    <ctl name="IIR1 Band5" id ="2" value="0" />
+    <ctl name="IIR1 Band5" id ="3" value="0" />
+    <ctl name="IIR1 Band5" id ="4" value="0" />
+    <ctl name="IIR1 Enable Band1" value="0" />
+    <ctl name="IIR1 Enable Band2" value="0" />
+    <ctl name="IIR1 Enable Band3" value="0" />
+    <ctl name="IIR1 Enable Band4" value="0" />
+    <ctl name="IIR1 Enable Band5" value="0" />
+    <!-- IIR -->
+    <!-- reset RX/TX End -->
+
+    <!-- ================================================================ -->
+    <!-- Verb -->
+    <!-- RX part -->
+    <!-- hifi -->
+    <path name="deep-buffer-playback">
+        <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="1" />
+    </path>
+
+    <path name="deep-buffer-playback bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
+    </path>
+	
+    <path name="deep-buffer-playback bt-sco-wb">
+        <path name="deep-buffer-playback bt-sco" />
+    </path>
+
+    <path name="deep-buffer-playback afe-proxy">
+        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
+    </path>
+
+    <path name="deep-buffer-playback usb-headphones">
+        <path name="deep-buffer-playback afe-proxy" />
+    </path>
+
+    <path name="deep-buffer-playback speaker-and-usb-headphones">
+        <path name="deep-buffer-playback usb-headphones" />
+        <path name="deep-buffer-playback" />
+    </path>
+
+    <path name="deep-buffer-playback transmission-fm">
+        <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" />
+    </path>
+
+    <path name="deep-buffer-playback speaker-and-bt-sco">
+        <path name="deep-buffer-playback bt-sco" />
+        <path name="deep-buffer-playback" />
+    </path>
+
+    <!-- low latency -->
+    <path name="low-latency-playback">
+        <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" />
+    </path>
+
+    <path name="low-latency-playback bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="1" />
+    </path>
+
+    <path name="low-latency-playback bt-sco-wb">
+        <path name="low-latency-playback bt-sco" />
+    </path>
+
+    <path name="low-latency-playback afe-proxy">
+        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
+    </path>
+
+    <path name="low-latency-playback usb-headphones">
+        <path name="low-latency-playback afe-proxy" />
+    </path>
+
+    <path name="low-latency-playback speaker-and-usb-headphones">
+        <path name="low-latency-playback usb-headphones" />
+        <path name="low-latency-playback" />
+    </path>
+
+    <path name="low-latency-playback transmission-fm">
+        <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="1" />
+    </path>
+
+    <path name="low-latency-playback speaker-and-bt-sco">
+        <path name="low-latency-playback bt-sco" />
+        <path name="low-latency-playback" />
+    </path>
+
+    <!-- tunnel -->
+    <path name="compress-offload-playback">
+        <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" />
+    </path>
+
+    <path name="compress-offload-playback bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="1" />
+    </path>
+
+    <path name="compress-offload-playback bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="compress-offload-playback bt-sco" />
+    </path>
+
+    <path name="compress-offload-playback afe-proxy">
+        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
+    </path>
+
+    <path name="compress-offload-playback usb-headphones">
+        <path name="compress-offload-playback afe-proxy" />
+    </path>
+
+    <path name="compress-offload-playback speaker-and-usb-headphones">
+        <path name="compress-offload-playback usb-headphones" />
+        <path name="compress-offload-playback" />
+    </path>
+
+    <path name="compress-offload-playback transmission-fm">
+        <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
+    </path>
+
+    <!-- TX part -->
+    <path name="audio-record">
+        <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
+    </path>
+
+    <path name="audio-record bt-sco">
+        <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="1" />
+    </path>
+
+    <path name="audio-record bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="audio-record bt-sco" />
+    </path>
+
+    <path name="audio-record usb-headset-mic">
+        <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="1" />
+    </path>
+
+    <path name="audio-record capture-fm">
+        <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="1" />
+    </path>
+
+    <path name="fm-virtual-record capture-fm">
+        <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="1" />
+    </path>
+
+    <!-- call part -->
+    <path name="voice-call">
+        <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="1" />
+        <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="1" />
+    </path>
+
+    <path name="voice-call bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="1" />
+        <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="1" />
+    </path>
+
+    <path name="voice-call bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="voice-call bt-sco" />
+    </path>
+
+    <path name="voice-call usb-headphones">
+        <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
+        <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
+    </path>
+
+    <path name="voice-call-cp2">
+        <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="1" />
+        <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="1" />
+    </path>
+
+    <path name="voice-call-cp2 bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="1" />
+        <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="1" />
+    </path>
+
+    <path name="play-fm">
+        <ctl name="Internal FM RX Volume" value="1" />
+        <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="1" />
+    </path>
+
+    <path name="fm-input">
+        <path name="audio-record capture-fm" />
+    </path>
+
+    <path name="vowlan-call">
+        <ctl name="PRI_MI2S_RX_Voice Mixer VoWLAN" value="1" />
+        <ctl name="VoWLAN_Tx Mixer TERT_MI2S_TX_VoWLAN" value="1" />
+    </path>
+
+    <path name="vowlan-call hdmi">
+        <ctl name="HDMI_RX_Voice Mixer VoWLAN" value="1" />
+        <ctl name="VoWLAN_Tx Mixer TERT_MI2S_TX_VoWLAN" value="1" />
+    </path>
+
+    <path name="vowlan-call bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoWLAN" value="1" />
+        <ctl name="VoWLAN_Tx Mixer INTERNAL_BT_SCO_TX_VoWLAN" value="1" />
+    </path>
+
+    <path name="vowlan-call bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="vowlan-call bt-sco" />
+    </path>
+
+    <path name="vowlan-call usb-headphones">
+        <ctl name="AFE_PCM_RX_Voice Mixer VoWLAN" value="1" />
+        <ctl name="VoWLAN_Tx Mixer AFE_PCM_TX_VoWLAN" value="1" />
+    </path>
+
+    <path name="hfp-sco">
+        <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" />
+        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
+        <ctl name="MultiMedia6 Mixer TERT_MI2S_TX" value="1" />
+    </path>
+
+    <path name="hfp-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="hfp-sco" />
+    </path>	
+
+    <path name="incall-rec-uplink">
+        <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
+    </path>
+
+    <path name="incall-rec-uplink bt-sco">
+        <path name="incall-rec-uplink" />
+    </path>
+
+    <path name="incall-rec-uplink bt-sco-wb">
+        <path name="incall-rec-uplink" />
+    </path>
+
+    <path name="incall-rec-downlink">
+        <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
+    </path>
+
+    <path name="incall-rec-downlink bt-sco">
+        <path name="incall-rec-downlink" />
+    </path>
+
+    <path name="incall-rec-downlink bt-sco-wb">
+        <path name="incall-rec-downlink" />
+    </path>
+
+    <path name="incall-rec-uplink-and-downlink">
+        <path name="incall-rec-uplink" />
+        <path name="incall-rec-downlink" />
+    </path>
+
+    <path name="incall-rec-uplink-and-downlink bt-sco">
+        <path name="incall-rec-uplink-and-downlink" />
+    </path>
+
+    <path name="incall-rec-uplink-and-downlink bt-sco-wb">
+        <path name="incall-rec-uplink-and-downlink" />
+    </path>
+
+    <path name="incall_music_uplink">
+       <ctl name="Incall_Music Audio Mixer MultiMedia2" value="1" />
+    </path>
+
+    <path name="incall_music_uplink2">
+        <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+    </path>
+
+    <path name="incall-rec-uplink-cp2">
+        <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
+    </path>
+
+    <path name="incall-rec-downlink-cp2">
+        <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
+    </path>  
+
+    <path name="incall-rec-uplink-and-downlink-cp2">
+        <path name="incall-rec-uplink-cp2" />
+        <path name="incall-rec-downlink-cp2" />
+    </path>    
+
+    <path name="incall-rec-uplink-and-downlink-cp2 bt-sco">
+        <path name="incall-rec-uplink-cp2" />
+        <path name="incall-rec-downlink-cp2" />
+    </path>
+    
+    <path name="voip-call">
+        <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
+        <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" />
+    </path>
+
+    <path name="voip-call bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+        <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+    </path>
+
+    <path name="volte-call">
+        <ctl name="PRI_MI2S_RX_Voice Mixer VoLTE" value="1" />
+        <ctl name="VoLTE_Tx Mixer TERT_MI2S_TX_VoLTE" value="1" />
+   </path>
+
+   <path name="volte-call hdmi">
+       <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
+       <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
+   </path>
+
+   <path name="volte-call bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="1" />
+        <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="1" />
+    </path>
+
+   <path name="volte-call bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="volte-call bt-sco" />
+    </path>
+
+   <path name="volte-call usb-headphones">
+        <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
+        <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
+   </path>
+
+    <path name="compress-voip-call">
+        <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
+        <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" />
+    </path>
+
+    <path name="compress-voip-call bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+        <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+    </path>
+
+    <path name="compress-voip-call bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="compress-voip-call bt-sco" />
+    </path>
+
+    <path name="qchat-call">
+        <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="1" />
+        <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="1" />
+    </path>
+
+    <path name="qchat-call bt-sco">
+        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+        <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+    </path>
+
+    <path name="qchat-call bt-sco-wb">
+        <ctl name="Internal BTSCO SampleRate" value="16000" />
+        <path name="qchat-call bt-sco" />
+    </path>
+    <!-- end of Verb -->
+
+    <!-- ================================================================ -->
+    <!-- Device -->
+    <!-- RX part -->
+
+    <path name="rcv">
+        <ctl name="RX1 MIX1 INP1" value="RX1" />
+        <ctl name="RDAC2 MUX" value="RX1" />
+        <ctl name="EAR_S" value="Switch" />
+    </path>
+
+    <path name="spk">
+        <ctl name="MI2S_RX Channels" value="Two" />
+        <ctl name="RX3 MIX1 INP1" value="RX1" />
+        <ctl name="RX3 MIX1 INP2" value="RX2" />
+        <ctl name="SPK DAC Switch" value="1" />
+	<ctl name="Speaker Boost" value="ENABLE" />
+    </path>
+
+    <path name="ear">
+        <ctl name="MI2S_RX Channels" value="Two" />
+        <ctl name="RX1 MIX1 INP1" value="RX1" />
+        <ctl name="RX2 MIX1 INP1" value="RX2" />
+        <ctl name="RDAC2 MUX" value="RX2" />
+        <ctl name="HPHL" value="Switch" />
+        <ctl name="HPHR" value="Switch" />
+    </path>
+
+    <path name="lineout">
+        <ctl name="MI2S_RX Channels" value="Two" />
+        <ctl name="RX1 MIX1 INP1" value="RX1" />
+        <ctl name="RX2 MIX1 INP1" value="RX2" />
+        <ctl name="RDAC2 MUX" value="RX2" />
+        <ctl name="HPHL" value="Switch" />
+        <ctl name="HPHR" value="Switch" />
+    </path>
+
+    <path name="spk-lineout">
+        <ctl name="MI2S_RX Channels" value="Two" />
+        <ctl name="RX1 MIX1 INP1" value="RX1" />
+        <ctl name="RX2 MIX1 INP1" value="RX2" />
+        <ctl name="RX3 MIX1 INP1" value="RX1" />
+	<ctl name="RX3 MIX1 INP2" value="RX2" />
+        <ctl name="RDAC2 MUX" value="RX2" />
+        <ctl name="SPK DAC Switch" value="1" />
+        <ctl name="HPHL" value="Switch" />
+        <ctl name="HPHR" value="Switch" />
+    </path>
+
+    <path name="spk-ear">
+        <ctl name="MI2S_RX Channels" value="Two" />
+        <ctl name="RX1 MIX1 INP1" value="RX1" />
+        <ctl name="RX2 MIX1 INP1" value="RX2" />
+        <ctl name="RX3 MIX1 INP1" value="RX1" />
+	<ctl name="RX3 MIX1 INP2" value="RX2" />
+        <ctl name="RDAC2 MUX" value="RX2" />
+        <ctl name="SPK DAC Switch" value="1" />
+        <ctl name="HPHL" value="Switch" />
+        <ctl name="HPHR" value="Switch" />
+    </path>
+
+    <!-- TX part -->
+    <path name="main-mic">
+        <ctl name="DEC1 MUX" value="ADC1" />
+		<ctl name="MICBIAS CAPLESS Switch" value="1" />
+    </path>
+
+    <path name="sub-mic">
+        <ctl name="DEC1 MUX" value="ADC2" />
+        <ctl name="ADC2 MUX" value="INP3" />
+    <ctl name="MICBIAS CAPLESS Switch" value="1" />
+    </path>
+
+    <path name="3rd-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="68" />
+    </path>
+
+    <path name="ear-mic">
+        <ctl name="DEC1 MUX" value="ADC2" />
+        <ctl name="ADC2 MUX" value="INP2" />
+        <ctl name="IIR1 INP1 MUX" value="DEC1" />
+		<ctl name="MICBIAS CAPLESS Switch" value="0" />
+    </path>
+
+    <path name="main-sub-mic">
+        <ctl name="MI2S_TX Channels" value="Two" />
+        <ctl name="DEC1 MUX" value="ADC1" />
+        <ctl name="DEC2 MUX" value="ADC2" />
+        <ctl name="ADC2 MUX" value="INP3" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC2 Volume" value="82" />
+        <ctl name="ADC3 Volume" value="4" />
+    <ctl name="MICBIAS CAPLESS Switch" value="1" />
+    </path>
+
+    <path name="sub-main-mic">
+        <ctl name="MI2S_TX Channels" value="Two" />
+        <ctl name="DEC1 MUX" value="ADC1" />
+        <ctl name="DEC2 MUX" value="ADC2" />
+        <ctl name="ADC2 MUX" value="INP3" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC2 Volume" value="82" />
+        <ctl name="ADC3 Volume" value="4" />
+    <ctl name="MICBIAS CAPLESS Switch" value="1" />
+    </path>
+
+    <path name="sub-3rd-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="68" />
+    </path>
+
+    <path name="main-3rd-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="68" />
+    </path>
+
+    <path name="main-sub-3rd-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="68" />
+    </path>
+
+    <path name="3rd-sub-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC1 Volume" value="68" />
+    </path>
+    <!-- end of Device -->
+
+    <!-- ================================================================ -->
+    <!-- Play Scenario  -->
+    <path name="handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="82" />
+        <ctl name="RX2 Digital Volume" value="82" />
+    </path>
+
+    <path name="dock">
+        <path name="lineout" />
+        <ctl name="RX1 Digital Volume" value="83" />
+        <ctl name="RX2 Digital Volume" value="83" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="headphones">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="81" />
+        <ctl name="RX2 Digital Volume" value="81" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="speaker-and-headphones">
+        <path name="spk-ear" />
+        <ctl name="RX1 Digital Volume" value="56" />
+        <ctl name="RX2 Digital Volume" value="56" />
+        <ctl name="RX3 Digital Volume" value="79" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="speaker-and-hdmi">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="84" />
+    </path>
+
+    <path name="speaker-and-proxy">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="84" />
+    </path>
+
+    <path name="speaker-and-dock">
+	<path name="spk-lineout" />
+        <ctl name="RX1 Digital Volume" value="56" />
+        <ctl name="RX2 Digital Volume" value="56" />
+        <ctl name="RX3 Digital Volume" value="81" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="speaker-and-bt-sco">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="84" />
+    </path>
+
+    <path name="fm-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="76" />
+    </path>	
+
+    <path name="fm-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />
+    </path>
+
+    <!-- end of Play Scenario -->
+
+    <!-- ================================================================ -->
+    <!-- Recording Scenario  -->
+    <path name="rec-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="88" />
+        <ctl name="ADC1 Volume" value="2" />
+    </path>
+
+    <path name="rec-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="rec-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="rec-stereo-mic">
+       <path name="sub-main-mic" />
+        <ctl name="DEC1 Volume" value="98" />
+        <ctl name="ADC1 Volume" value="14" />
+        <ctl name="DEC2 Volume" value="85" />
+        <ctl name="ADC3 Volume" value="6" />
+    </path>
+
+    <path name="rec-high-gain-main-mic">
+        <path name="rec-main-mic" />
+    </path>
+
+    <path name="rec-high-gain-sub-mic">
+        <path name="rec-sub-mic" />
+    </path>
+
+    <path name="rec-high-gain-headset-mic">
+        <path name="rec-headset-mic" />
+    </path>
+
+    <path name="rec-high-gain-stereo-mic">
+        <path name="rec-main-mic" />
+    </path>
+
+    <path name="rec-NS-mic-interview">
+        <path name="main-sub-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="rec-NS-mic-conversation">
+        <path name="main-sub-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="rec-NS-mic-conference">
+        <path name="main-sub-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+    <!-- end of Recording Scenario -->
+
+    <!-- ================================================================ -->
+    <!-- recognition Scenario -->
+    <path name="vr-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="80" />
+        <ctl name="ADC1 Volume" value="40" />
+    </path>
+
+    <path name="vr-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="vr-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="bargein1-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="bargein1-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="103" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="bargein1-earphone-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="bargein1-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="bargein2-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="bargein2-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="103" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="bargein2-earphone-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="bargein2-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="svoice-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-rec-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="82" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="svoice-NS-mic">
+        <path name="main-sub-mic" />
+    </path>
+
+    <path name="sdriving-NS-mic">
+        <path name="main-sub-mic" />
+    </path>
+
+    <path name="voice-wakeup">
+    </path>
+
+    <path name="voice-wakeup-lpsd">
+    </path>
+    <!-- end of recognition Scenario -->
+
+    <!-- ================================================================ -->
+    <!-- Voice call Scenario -->
+    <!-- RX part -->
+    <path name="voice-call-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="voice-call-handset-extra-vol">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="voice-call-handset-emergency">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voice-call-handset-hac">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voice-call-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="83" />
+    </path>
+
+    <path name="voice-call-speaker-extra-vol">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="83" />
+    </path>
+
+    <path name="voice-call-speaker-emergency">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="83" />
+    </path>
+
+    <path name="voice-call-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voice-call-dock">
+    </path>
+
+    <!-- TX part -->
+    <path name="voice-call-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-main-mic-emergency">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-sub-mic-emergency">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-headphone-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="94" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-NS-mic-handset">
+        <path name="main-sub-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-NS-mic-speaker">
+        <path name="sub-main-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+    <!-- end of Voice call Scenario  -->
+
+    <!-- ================================================================ -->
+    <!-- Voice call cp2 Scenario -->
+    <!-- RX part -->
+    <path name="voice-call-cp2-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="voice-call-cp2-handset-extra-vol">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="voice-call-cp2-handset-emergency">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voice-call-cp2-handset-hac">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="voice-call-cp2-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="84" />
+    </path>
+
+    <path name="voice-call-cp2-speaker-extra-vol">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="84" />
+    </path>
+
+    <path name="voice-call-cp2-speaker-emergency">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voice-call-cp2-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voice-call-cp2-dock">
+    </path>
+
+    <!-- TX part -->
+    <path name="voice-call-cp2-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-cp2-main-mic-emergency">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-cp2-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-cp2-sub-mic-emergency">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-cp2-headphone-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-cp2-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="94" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voice-call-cp2-NS-mic-handset">
+        <path name="voice-call-main-mic" />
+    </path>
+
+    <path name="voice-call-cp2-NS-mic-speaker">
+        <path name="voice-call-main-mic" />
+    </path>
+    <!-- end of Voice call cp2 Scenario  -->
+
+    <!-- ================================================================ -->
+    <!-- call forward Scenario -->
+    <path name="voice-call-forward">
+    	<path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="0" />
+    </path>
+
+    <path name="voice-call-forward-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="0" />
+        <ctl name="ADC1 Volume" value="0" />
+    </path>
+    <!-- end of call forward Scenario -->
+
+    <!-- ================================================================ -->
+    <!-- Video call Scenario -->
+    <!-- RX part -->
+    <path name="video-call-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="video-call-handset-extra-vol">
+        <path name="video-call-handset" />
+    </path>
+
+    <path name="video-call-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="83" />
+    </path>
+
+    <path name="video-call-speaker-extra-vol">
+        <path name="video-call-speaker" />
+    </path>
+
+    <path name="video-call-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="video-call-dock">
+    </path>
+
+    <!-- TX part -->
+    <path name="video-call-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="video-call-sub-mic">
+        <path name="voice-call-sub-mic" />
+    </path>
+
+    <path name="video-call-headphone-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="video-call-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="94" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="video-call-NS-mic-handset">
+        <path name="main-sub-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="video-call-NS-mic-speaker">
+        <path name="sub-main-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+    <!-- end of Video call Scenario  -->
+
+    <!-- ================================================================ -->
+    <!-- VoLTE Voice call Scenario -->
+    <!-- RX part -->
+    <path name="VoLTE-voice-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="VoLTE-voice-handset-extra-vol">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="79" />
+    </path>
+
+    <path name="VoLTE-voice-handset-hac">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="VoLTE-voice-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="83" />
+    </path>
+
+    <path name="VoLTE-voice-speaker-extra-vol">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="83" />
+    </path>
+
+    <path name="VoLTE-voice-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="VoLTE-voice-dock">
+    </path>
+
+    <!-- TX part -->
+    <path name="VoLTE-voice-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-voice-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-voice-headphone-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-voice-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="94" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-voice-NS-mic-handset">
+        <path name="main-sub-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-voice-NS-mic-speaker">
+        <path name="sub-main-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+    <!-- end of VoLTE Voice call Scenario  -->
+
+    <!-- ================================================================ -->
+    <!-- VoLTE Video call Scenario -->
+    <!-- RX part -->
+    <path name="VoLTE-video-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="VoLTE-video-handset-extra-vol">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="VoLTE-video-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="VoLTE-video-speaker-extra-vol">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="VoLTE-video-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="VoLTE-video-dock">
+    </path>
+
+    <!-- TX part -->
+    <path name="VoLTE-video-main-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-video-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-video-headphone-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-video-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-video-NS-mic-handset">
+        <path name="main-sub-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="VoLTE-video-NS-mic-speaker">
+        <path name="sub-main-mic" />
+	<ctl name="DEC1 Volume" value="84" />
+	<ctl name="ADC1 Volume" value="4" />
+	<ctl name="DEC2 Volume" value="84" />
+	<ctl name="ADC3 Volume" value="4" />
+    </path>
+    <!-- end of VoLTE Video call Scenario  -->
+
+    <!-- ================================================================ -->
+    <!-- TTY Scenario  -->
+    <!-- RX part -->
+    <path name="TTY-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="TTY-handset-extra-vol">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="TTY-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="TTY-full">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <!-- TX part -->
+    <path name="TTY-vco-mic">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="TTY Mode" value="VCO" />
+    </path>
+
+    <path name="TTY-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+        <ctl name="TTY Mode" value="HCO" />
+    </path>
+
+    <path name="TTY-full-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+        <ctl name="TTY Mode" value="FULL" />
+    </path>
+    <!-- end of TTY Scenario -->
+
+    <!-- ================================================================ -->
+    <!-- VoIP Scenario -->
+    <!-- RX part -->
+    <path name="voip-handset-comm">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-comm">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="82" />
+    </path>
+
+    <path name="voip-headset-comm">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voip-handset-others">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-others">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-headset-others">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voip-handset-chaton">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-chaton">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-headset-chaton">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voip-handset-callforwarding">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-callforwarding">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-headset-callforwarding">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voip-handset-webex">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-webex">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-headset-webex">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voip-handset-carrier">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-handset-carrier-extra-vol">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-carrier">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-speaker-carrier-extra-vol">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-headset-carrier">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="voip-handset-nonpcm">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="81" />
+    </path>
+
+    <path name="voip-speaker-nonpcm">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="voip-headset-nonpcm">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="86" />
+        <ctl name="RX2 Digital Volume" value="86" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <!-- TX part -->
+    <path name="voip-main-mic-comm">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-comm">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-headphone-mic-comm">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="14" />
+    </path>
+
+    <path name="voip-headset-mic-comm">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="14" />
+    </path>
+
+    <path name="voip-main-mic-others">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-others">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-headphone-mic-others">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-headset-mic-others">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-main-mic-chaton">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-chaton">
+        <path name="sub-main-mic" />
+    </path>
+
+    <path name="voip-headphone-mic-chaton">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-headset-mic-chaton">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-main-mic-callforwarding">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-callforwarding">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-headphone-mic-callforwarding">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-headset-mic-callforwarding">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-main-mic-webex">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-webex">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-headphone-mic-webex">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-headset-mic-webex">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-main-mic-carrier">
+        <path name="main-sub-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC2 Volume" value="84" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-carrier">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-headphone-mic-carrier">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-headset-mic-carrier">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+
+    <path name="voip-main-mic-nonpcm">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-sub-mic-nonpcm">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="voip-headphone-mic-nonpcm">
+        <path name="main-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC1 Volume" value="4" />
+    </path>
+
+    <path name="voip-headset-mic-nonpcm">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="4" />
+    </path>
+    <!-- end of VoIP Scenario -->
+
+    <!-- ================================================================ -->
+    <!-- Factory Scenario -->
+    <!-- RX part -->
+    <path name="loopback-handset-DSP">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-handset-2mic-on-DSP">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-speaker-DSP">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="loopback-headset-DSP">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="loopback-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-handset-2mic-on">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="loopback-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <!-- TX part -->
+    <path name="loopback-main-mic-DSP">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="10" />
+        <ctl name="DEC1 Volume" value="81" />
+    </path>
+
+    <path name="loopback-main-mic-2mic-on-DSP">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-sub-mic-DSP">
+        <path name="sub-mic" />
+        <ctl name="ADC3 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-3rd-mic-DSP">
+        <path name="loopback-main-mic-DSP" />
+    </path>
+
+    <path name="loopback-headphone-mic-DSP">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-headset-mic-DSP">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="20" />
+    </path>
+
+    <path name="loopback-main-mic">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-main-mic-2mic-on">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="loopback-3rd-mic">
+        <path name="3rd-mic" />
+    </path>
+
+    <path name="loopback-headphone-mic">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="20" />
+    </path>
+    <!-- end of Factory Scenario -->
+
+    <!-- Factory Scenario CP2-->
+    <!-- RX part -->
+    <path name="loopback-cp2-handset-DSP">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-cp2-handset-2mic-on-DSP">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-cp2-speaker-DSP">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="loopback-cp2-headset-DSP">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <path name="loopback-cp2-handset">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-cp2-handset-2mic-on">
+        <path name="rcv" />
+        <ctl name="RX1 Digital Volume" value="84" />
+    </path>
+
+    <path name="loopback-cp2-speaker">
+        <path name="spk" />
+        <ctl name="RX3 Digital Volume" value="80" />
+    </path>
+
+    <path name="loopback-cp2-headset">
+        <path name="ear" />
+        <ctl name="RX1 Digital Volume" value="84" />
+        <ctl name="RX2 Digital Volume" value="84" />
+        <ctl name="EAR PA Gain" value="POS_1P5_DB" />	
+    </path>
+
+    <!-- TX part -->
+    <path name="loopback-cp2-main-mic-DSP">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-cp2-main-mic-2mic-on-DSP">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-cp2-sub-mic-DSP">
+        <path name="loopback-sub-mic-DSP" />
+    </path>
+
+    <path name="loopback-cp2-3rd-mic-DSP">
+        <path name="loopback-main-mic-DSP" />
+    </path>
+
+    <path name="loopback-cp2-headphone-mic-DSP">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-cp2-headset-mic-DSP">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="20" />
+    </path>
+
+    <path name="loopback-cp2-main-mic">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-cp2-main-mic-2mic-on">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-cp2-sub-mic">
+        <path name="sub-mic" />
+        <ctl name="DEC1 Volume" value="68" />
+        <ctl name="ADC3 Volume" value="4" />
+    </path>
+
+    <path name="loopback-cp2-3rd-mic">
+        <path name="3rd-mic" />
+    </path>
+
+    <path name="loopback-cp2-headphone-mic">
+        <path name="main-mic" />
+        <ctl name="ADC1 Volume" value="4" />
+        <ctl name="DEC1 Volume" value="69" />
+    </path>
+
+    <path name="loopback-cp2-headset-mic">
+        <path name="ear-mic" />
+        <ctl name="DEC1 Volume" value="84" />
+        <ctl name="ADC2 Volume" value="20" />
+    </path>
+    <!-- end of Factory Scenario cp2-->	
+
+    <path name="dummy">
+    </path>
+
+</mixer>
diff --git a/device.mk b/device.mk
index efeee21..0822511 100644
--- a/device.mk
+++ b/device.mk
@@ -12,6 +12,26 @@
 PRODUCT_COPY_FILES += \
 	$(LOCAL_PATH)/dt.img:dt.img
 
+# Audio configuration
+PRODUCT_COPY_FILES += \
+	$(LOCAL_PATH)/audio/Bluetooth_cal.acdb:system/etc/Bluetooth_cal.acdb \
+	$(LOCAL_PATH)/audio/General_cal.acdb:system/etc/General_cal.acdb \
+	$(LOCAL_PATH)/audio/Global_cal.acdb:system/etc/Global_cal.acdb \
+	$(LOCAL_PATH)/audio/Handset_cal.acdb:system/etc/Handset_cal.acdb \
+	$(LOCAL_PATH)/audio/Hdmi_cal.acdb:system/etc/Hdmi_cal.acdb \
+	$(LOCAL_PATH)/audio/Headset_cal.acdb:system/etc/Headset_cal.acdb \
+	$(LOCAL_PATH)/audio/Speaker_cal.acdb:system/etc/Speaker_cal.acdb \
+	$(LOCAL_PATH)/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf \
+	$(LOCAL_PATH)/audio/audio_policy.conf:system/etc/audio_policy.conf \
+	$(LOCAL_PATH)/audio/mixer_paths.xml:system/etc/mixer_paths.xml
+
+# Media configurations
+PRODUCT_COPY_FILES += \
+	$(LOCAL_PATH)/media/media_codecs_8929.xml:system/etc/media_codecs_8929.xml \
+	$(LOCAL_PATH)/media/media_codecs_8939.xml:system/etc/media_codecs_8939.xml \
+	$(LOCAL_PATH)/media/media_codecs.xml:system/etc/media_codecs.xml \
+	$(LOCAL_PATH)/media/media_profiles.xml:system/etc/media_profiles.xml
+
 # Properties
 PRODUCT_PROPERTY_OVERRIDES += \
 	ro.product.model=SM-G530W \
diff --git a/media/media_codecs.xml b/media/media_codecs.xml
new file mode 100644
index 0000000..5753bd6
--- /dev/null
+++ b/media/media_codecs.xml
@@ -0,0 +1,388 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+     Copyright (C) 2014 The Linux Foundation. All rights reserved.
+     Not a contribution.
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!--
+<!DOCTYPE MediaCodecs [
+<!ELEMENT Include EMPTY>
+<!ATTLIST Include href CDATA #REQUIRED>
+<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
+<!ELEMENT Decoders (MediaCodec|Include)*>
+<!ELEMENT Encoders (MediaCodec|Include)*>
+<!ELEMENT MediaCodec (Type|Quirk|Include)*>
+<!ATTLIST MediaCodec name CDATA #REQUIRED>
+<!ATTLIST MediaCodec type CDATA>
+<!ELEMENT Type EMPTY>
+<!ATTLIST Type name CDATA #REQUIRED>
+<!ELEMENT Quirk EMPTY>
+<!ATTLIST Quirk name CDATA #REQUIRED>
+]>
+
+There's a simple and a complex syntax to declare the availability of a
+media codec:
+
+A codec that properly follows the OpenMax spec and therefore doesn't have any
+quirks and that only supports a single content type can be declared like so:
+
+    <MediaCodec name="OMX.foo.bar" type="something/interesting" />
+
+If a codec has quirks OR supports multiple content types, the following syntax
+can be used:
+
+    <MediaCodec name="OMX.foo.bar" >
+        <Type name="something/interesting" />
+        <Type name="something/else" />
+        ...
+        <Quirk name="requires-allocate-on-input-ports" />
+        <Quirk name="requires-allocate-on-output-ports" />
+        <Quirk name="output-buffers-are-unreadable" />
+    </MediaCodec>
+
+Only the three quirks included above are recognized at this point:
+
+"requires-allocate-on-input-ports"
+    must be advertised if the component does not properly support specification
+    of input buffers using the OMX_UseBuffer(...) API but instead requires
+    OMX_AllocateBuffer to be used.
+
+"requires-allocate-on-output-ports"
+    must be advertised if the component does not properly support specification
+    of output buffers using the OMX_UseBuffer(...) API but instead requires
+    OMX_AllocateBuffer to be used.
+
+"output-buffers-are-unreadable"
+    must be advertised if the emitted output buffers of a decoder component
+    are not readable, i.e. use a custom format even though abusing one of
+    the official OMX colorspace constants.
+    Clients of such decoders will not be able to access the decoded data,
+    naturally making the component much less useful. The only use for
+    a component with this quirk is to render the output to the screen.
+    Audio decoders MUST NOT advertise this quirk.
+    Video decoders that advertise this quirk must be accompanied by a
+    corresponding color space converter for thumbnail extraction,
+    matching surfaceflinger support that can render the custom format to
+    a texture and possibly other code, so just DON'T USE THIS QUIRK.
+
+
+-->
+
+<!--
+  Decoder capabilities for 8916
+_________________________________________________________________
+  | Codec    | W       H       fps     Mbps    MB/s    | Encode Secure-dec |
+  |__________|_________________________________________|___________________|
+  | h264     | 1920    1088    30      20      244800  |  Y       Y        |
+  | hevc     | 1280    720     30      3       108300  |  N       N        |   // Software
+  | mpeg4    | 1920    1088    30      20      244800  |  Y       N        |
+  | vc1      | 1920    1088    30      20      244800  |  N       Y        |
+  | vp8      | 1920    1088    30      20      244800  |  N       N        |
+  | divx3    | 720     480     30      2       40500   |  N       N        |
+  | div4/5/6 | 1920    1088    30      10      244800  |  N       N        |
+  | h263     | 864     480     30      2       48600   |  Y       N        |
+  | mpeg2    | 1920    1088    30      20      244800  |  N       Y        |
+  |__________|_________________________________________|___________________|
+-->
+
+<!--
+  Encoder capabilities for 8916
+___________________________________________________
+  | Codec    | W       H       fps     Mbps    MB/s    |
+  |__________|_________________________________________|
+  | h264     | 1920    1088    30      20      244800  |
+  | mpeg4    | 1920    1088    30      20      244800  |
+  | h263     | 720      576    30       2       48600  |
+  | vp8      | 1920    1088    30      20      244800  |
+  |____________________________________________________|
+-->
+<MediaCodecs>
+    <Encoders>
+        <!-- Video Hardware  -->
+        <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="720x576" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="48600" />
+            <Limit name="bitrate" range="1-2000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <!-- Audio Hardware  -->
+        <MediaCodec name="OMX.qcom.audio.encoder.evrc" type="audio/evrc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.encoder.qcelp13" type="audio/qcelp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+        </MediaCodec>
+    </Encoders>
+    <Decoders>
+        <!-- Audio Software  -->
+        <MediaCodec name="OMX.SEC.amr.dec">
+            <Type name="audio/amr-wb" />
+            <Type name="audio/3gpp"  />
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.mp3.dec">
+            <Type name="audio/mpeg"/>
+            <Type name="audio/mpeg-L1"/>
+            <Type name="audio/mpeg-L2"/>
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.aac.dec" type="audio/mp4a-latm" >
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.flac.dec" type="audio/flac" >
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.wma.dec" type="audio/x-ms-wma" >
+        <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.adpcm.dec" type="audio/x-ima" >
+        <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <!-- Audio Hardware  -->
+        <MediaCodec name="OMX.qcom.audio.decoder.amrwbplus" type="audio/amr-wb-plus" >
+        </MediaCodec>
+        <!-- Audio Software  -->
+        <!--
+            Use Google's RAW decoder to support ACodec path for FLAC clips as
+            FLACDecoder is non-OMX component based. A component can be used to
+            support several mimetypes, so existing raw decoder usecases will not
+            be affected by this.
+        -->
+        <MediaCodec name="OMX.qcom.audio.decoder.Qcelp13" type="audio/qcelp" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.decoder.evrc" type="audio/evrc" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <!-- Video Hardware  -->
+        <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+            <Feature name="secure-playback" required="true" />
+        </MediaCodec>        
+        <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />            
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="864x480" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="48600" />
+            <Limit name="bitrate" range="1-2000000" />            
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.vc1" >
+            <Type name="video/x-ms-wmv"/>
+            <Type name="video/wvc1"/>
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />            
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+<!-- QCom DivX Components are not used -->
+<!--   	
+        <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920X1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+-->
+        <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />            
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <!--
+        <MediaCodec name="OMX.qcom.video.decoder.hevcswvdec" type="video/hevc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1280x720" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="108300" />
+            <Limit name="bitrate" range="1-3000000" />
+            <Feature name="adaptive-playback" />        
+        </MediaCodec>
+        -->
+        <!-- Video Software  -->
+        <MediaCodec name="OMX.SEC.h263.sw.dec" type="video/3gpp" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.avc.sw.dec" type="video/avc" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+            <Limit name="size" min="64x64" max="2048x2048" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.mpeg4.sw.dec" type="video/mp4v-es" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.vc1.sw.dec" >
+            <Type name="video/x-ms-wmv"/>
+            <Type name="video/wvc1"/>
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.wmv7.dec" type="video/x-ms-wmv7" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.wmv8.dec" type="video/x-ms-wmv8" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.mp43.dec" type="video/mp43" >
+        <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.hevc.sw.dec" type="video/hevc" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+            <Limit name="size" min="64x64" max="2048x2048" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.h263sr.dec" type="video/sorenson" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.vp8.dec" type="video/x-vnd.on2.vp8" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+            <Limit name="size" min="64x64" max="2048x2048" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+    </Decoders>
+    <Include href="media_codecs_google_video.xml" />
+    <Include href="media_codecs_google_audio.xml" />
+    <Include href="media_codecs_google_telephony.xml" />
+    <Encoders>
+        <MediaCodec name="OMX.SEC.naac.enc" type="audio/mp4a-latm">
+            <Limit name="channel-count" max="6" />
+            <Limit name="sample-rate" ranges="11025,12000,16000,22050,24000,32000,44100,48000" />
+            <Limit name="bitrate" range="8000-960000" />
+        </MediaCodec>
+    </Encoders>
+</MediaCodecs>
diff --git a/media/media_codecs_8929.xml b/media/media_codecs_8929.xml
new file mode 100644
index 0000000..3eaeacf
--- /dev/null
+++ b/media/media_codecs_8929.xml
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+     Copyright (C) 2014 The Linux Foundation. All rights reserved.
+     Not a contribution.
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!--
+<!DOCTYPE MediaCodecs [
+<!ELEMENT Include EMPTY>
+<!ATTLIST Include href CDATA #REQUIRED>
+<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
+<!ELEMENT Decoders (MediaCodec|Include)*>
+<!ELEMENT Encoders (MediaCodec|Include)*>
+<!ELEMENT MediaCodec (Type|Quirk|Include)*>
+<!ATTLIST MediaCodec name CDATA #REQUIRED>
+<!ATTLIST MediaCodec type CDATA>
+<!ELEMENT Type EMPTY>
+<!ATTLIST Type name CDATA #REQUIRED>
+<!ELEMENT Quirk EMPTY>
+<!ATTLIST Quirk name CDATA #REQUIRED>
+]>
+
+There's a simple and a complex syntax to declare the availability of a
+media codec:
+
+A codec that properly follows the OpenMax spec and therefore doesn't have any
+quirks and that only supports a single content type can be declared like so:
+
+    <MediaCodec name="OMX.foo.bar" type="something/interesting" />
+
+If a codec has quirks OR supports multiple content types, the following syntax
+can be used:
+
+    <MediaCodec name="OMX.foo.bar" >
+        <Type name="something/interesting" />
+        <Type name="something/else" />
+        ...
+        <Quirk name="requires-allocate-on-input-ports" />
+        <Quirk name="requires-allocate-on-output-ports" />
+        <Quirk name="output-buffers-are-unreadable" />
+    </MediaCodec>
+
+Only the three quirks included above are recognized at this point:
+
+"requires-allocate-on-input-ports"
+    must be advertised if the component does not properly support specification
+    of input buffers using the OMX_UseBuffer(...) API but instead requires
+    OMX_AllocateBuffer to be used.
+
+"requires-allocate-on-output-ports"
+    must be advertised if the component does not properly support specification
+    of output buffers using the OMX_UseBuffer(...) API but instead requires
+    OMX_AllocateBuffer to be used.
+
+"output-buffers-are-unreadable"
+    must be advertised if the emitted output buffers of a decoder component
+    are not readable, i.e. use a custom format even though abusing one of
+    the official OMX colorspace constants.
+    Clients of such decoders will not be able to access the decoded data,
+    naturally making the component much less useful. The only use for
+    a component with this quirk is to render the output to the screen.
+    Audio decoders MUST NOT advertise this quirk.
+    Video decoders that advertise this quirk must be accompanied by a
+    corresponding color space converter for thumbnail extraction,
+    matching surfaceflinger support that can render the custom format to
+    a texture and possibly other code, so just DON'T USE THIS QUIRK.
+
+
+-->
+
+<!--
+  Decoder capabilities for 8929
+_________________________________________________________________
+  | Codec    | W       H       fps     Mbps    MB/s    | Encode Secure-dec |
+  |__________|_________________________________________|___________________|
+  | h264     | 1920    1088    30      20      244800  |  Y       Y        |
+  | hevc     | 1920    1088    30      20      244800  |  N       N        |
+  | mpeg4    | 1920    1088    30      20      244800  |  Y       N        |
+  | vc1      | 1920    1088    30      20      244800  |  N       Y        |
+  | vp8      | 1920    1088    30      20      244800  |  N       N        |
+  | divx3    | 720     480     30      2       40500   |  N       N        |
+  | div4/5/6 | 1920    1088    30      10      244800  |  N       N        |
+  | h263     | 864     480     30      2       48600   |  Y       N        |
+  | mpeg2    | 1920    1088    30      20      244800  |  N       Y        |
+  |__________|_________________________________________|___________________|
+-->
+
+<!--
+  Encoder capabilities for 8929
+___________________________________________________
+  | Codec    | W       H       fps     Mbps    MB/s    |
+  |__________|_________________________________________|
+  | h264     | 1920    1088    30      20      244800  |
+  | mpeg4    | 1920    1088    30      20      244800  |
+  | h263     | 720      576    30       2       48600  |
+  | vp8      | 1920    1088    30      20      244800  |
+  |____________________________________________________|
+-->
+<MediaCodecs>
+    <Include href="media_codecs_google_audio.xml" />
+    <Include href="media_codecs_google_telephony.xml" />
+    <Encoders>
+        <!-- Audio Hardware  -->
+        <MediaCodec name="OMX.qcom.audio.encoder.evrc" type="audio/evrc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.encoder.qcelp13" type="audio/qcelp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+        </MediaCodec>
+        <!-- Audio Software  -->
+        <!-- Video Hardware  -->
+        <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-loaded-to-idle-after-allocation" />
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-loaded-to-idle-after-allocation" />
+            <Limit name="size" min="96x64" max="720x576" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="48600" />
+            <Limit name="bitrate" range="1-2000000" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-loaded-to-idle-after-allocation" />
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+        </MediaCodec>
+    </Encoders>
+    <Decoders>
+        <!-- Audio Hardware  -->
+        <MediaCodec name="OMX.qcom.audio.decoder.wma" type="audio/x-ms-wma" >
+            <Quirk name="requires-global-flush" />
+            <Quirk name="requires-wma-pro-component" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.decoder.wmaLossLess" type="audio/x-ms-wma-lossless" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.decoder.wma10Pro" type="audio/x-ms-wma-pro" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.decoder.amrwbplus" type="audio/amr-wb-plus" >
+        </MediaCodec>
+        <!-- Audio Software  -->
+        <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" />
+        <MediaCodec name="OMX.qcom.audio.decoder.Qcelp13" type="audio/qcelp" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.decoder.evrc" type="audio/evrc" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <!-- Video Hardware  -->
+        <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+            <Feature name="secure-playback" required="true" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+            <Feature name="secure-playback" required="true" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="864x480" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="48600" />
+            <Limit name="bitrate" range="1-2000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/x-ms-wmv" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.vc1.secure" type="video/x-ms-wmv" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+            <Feature name="secure-playback" required="true" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-10000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="720x480" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="40500" />
+            <Limit name="bitrate" range="1-2000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-10000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+    </Decoders>
+    <Include href="media_codecs_google_video.xml" />
+</MediaCodecs>
diff --git a/media/media_codecs_8939.xml b/media/media_codecs_8939.xml
new file mode 100644
index 0000000..e507845
--- /dev/null
+++ b/media/media_codecs_8939.xml
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+     Copyright (C) 2014 The Linux Foundation. All rights reserved.
+     Not a contribution.
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!--
+<!DOCTYPE MediaCodecs [
+<!ELEMENT Include EMPTY>
+<!ATTLIST Include href CDATA #REQUIRED>
+<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
+<!ELEMENT Decoders (MediaCodec|Include)*>
+<!ELEMENT Encoders (MediaCodec|Include)*>
+<!ELEMENT MediaCodec (Type|Quirk|Include)*>
+<!ATTLIST MediaCodec name CDATA #REQUIRED>
+<!ATTLIST MediaCodec type CDATA>
+<!ELEMENT Type EMPTY>
+<!ATTLIST Type name CDATA #REQUIRED>
+<!ELEMENT Quirk EMPTY>
+<!ATTLIST Quirk name CDATA #REQUIRED>
+]>
+
+There's a simple and a complex syntax to declare the availability of a
+media codec:
+
+A codec that properly follows the OpenMax spec and therefore doesn't have any
+quirks and that only supports a single content type can be declared like so:
+
+    <MediaCodec name="OMX.foo.bar" type="something/interesting" />
+
+If a codec has quirks OR supports multiple content types, the following syntax
+can be used:
+
+    <MediaCodec name="OMX.foo.bar" >
+        <Type name="something/interesting" />
+        <Type name="something/else" />
+        ...
+        <Quirk name="requires-allocate-on-input-ports" />
+        <Quirk name="requires-allocate-on-output-ports" />
+        <Quirk name="output-buffers-are-unreadable" />
+    </MediaCodec>
+
+Only the three quirks included above are recognized at this point:
+
+"requires-allocate-on-input-ports"
+    must be advertised if the component does not properly support specification
+    of input buffers using the OMX_UseBuffer(...) API but instead requires
+    OMX_AllocateBuffer to be used.
+
+"requires-allocate-on-output-ports"
+    must be advertised if the component does not properly support specification
+    of output buffers using the OMX_UseBuffer(...) API but instead requires
+    OMX_AllocateBuffer to be used.
+
+"output-buffers-are-unreadable"
+    must be advertised if the emitted output buffers of a decoder component
+    are not readable, i.e. use a custom format even though abusing one of
+    the official OMX colorspace constants.
+    Clients of such decoders will not be able to access the decoded data,
+    naturally making the component much less useful. The only use for
+    a component with this quirk is to render the output to the screen.
+    Audio decoders MUST NOT advertise this quirk.
+    Video decoders that advertise this quirk must be accompanied by a
+    corresponding color space converter for thumbnail extraction,
+    matching surfaceflinger support that can render the custom format to
+    a texture and possibly other code, so just DON'T USE THIS QUIRK.
+
+
+-->
+
+<!--
+  Decoder capabilities for 8939
+_________________________________________________________________
+  | Codec    | W       H       fps     Mbps    MB/s    | Encode Secure-dec |
+  |__________|_________________________________________|___________________|
+  | h264     | 1920    1088    60      50      489600  |  Y       Y        |
+  | hevc     | 1920    1088    60      50      489600  |  N       Y        |
+  | mpeg4    | 1920    1088    60      40      489600  |  Y       N        |
+  | vc1      | 1920    1088    30      45      244800  |  N       Y        |
+  | vp8      | 1920    1088    30      50      244800  |  Y       N        |
+  | divx3    | 1920    1088    30      20      244800  |  N       N        |
+  | div4/5/6 | 1920    1088    30      50      244800  |  N       N        |
+  | h263     | 864     480     30      2       48600   |  Y       N        |
+  | mpeg2    | 1920    1088    30      80      244800  |  N       Y        |
+  |__________|_________________________________________|___________________|
+
+-->
+
+<!--
+  Encoder capabilities for 8939
+   ____________________________________________________
+  | Codec    | W       H       fps     Mbps    MB/s    |
+  |__________|_________________________________________|
+  | h264     | 1920    1088    30      20      244800  |
+  | mpeg4    | 1920    1088    30      40      244800  |
+  | h263     | 864      480    30       2       48600  |
+  | vp8      | 1920    1088    30      20      244800  |
+  |____________________________________________________|
+-->
+
+<MediaCodecs>
+    <Encoders>
+        <!-- Video Hardware  -->
+        <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="720x576" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="48600" />
+            <Limit name="bitrate" range="1-2000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports"/>
+            <Quirk name="requires-loaded-to-idle-after-allocation"/>
+            <Limit name="size" min="96x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Quirk name="video-controller-check-enable" />
+        </MediaCodec>
+        <!-- Audio Hardware  -->
+        <MediaCodec name="OMX.qcom.audio.encoder.evrc" type="audio/evrc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.encoder.qcelp13" type="audio/qcelp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+        </MediaCodec>
+    </Encoders>
+    <Decoders>
+        <!-- Audio Software  -->
+        <MediaCodec name="OMX.SEC.amr.dec">
+            <Type name="audio/amr-wb" />
+            <Type name="audio/3gpp"  />
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>            
+        <MediaCodec name="OMX.SEC.mp3.dec">
+            <Type name="audio/mpeg"/>
+            <Type name="audio/mpeg-L1"/>
+            <Type name="audio/mpeg-L2"/>
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.aac.dec" type="audio/mp4a-latm" >
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.flac.dec" type="audio/flac" >
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.wma.dec" type="audio/x-ms-wma" >
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.adpcm.dec" type="audio/x-ima" >
+            <Quirk name="needs-flush-before-disable" />
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <!-- Audio Hardware  -->
+        <MediaCodec name="OMX.qcom.audio.decoder.amrwbplus" type="audio/amr-wb-plus" >
+        </MediaCodec>
+        <!-- Audio Software  -->
+        <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" />
+        <MediaCodec name="OMX.qcom.audio.decoder.Qcelp13" type="audio/qcelp" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.audio.decoder.evrc" type="audio/evrc" >
+            <Quirk name="requires-global-flush" />
+        </MediaCodec>
+        <!-- Video Hardware  -->
+        <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" /> 
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="489600" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="489600" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+            <Feature name="secure-playback" required="true" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="489600" />
+            <Limit name="bitrate" range="1-40000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="864x480" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="48600" />
+            <Limit name="bitrate" range="1-2000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.vc1">
+            <Type name="video/x-ms-wmv"/>
+            <Type name="video/wvc1"/>
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-45000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.vc1.secure">
+            <Type name="video/x-ms-wmv"/>
+            <Type name="video/wvc1"/>
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-45   000000" />
+            <Feature name="adaptive-playback" />
+            <Feature name="secure-playback" required="true" />
+        </MediaCodec>
+        <!--
+        <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920X1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-20000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        -->
+        <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Quirk name="requires-timestamp-reorder" />
+            <Quirk name="video-controller-check-enable" />
+            <Limit name="size" min="64x64" max="1920x1088" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="244800" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
+            <Quirk name="requires-allocate-on-input-ports" />
+            <Quirk name="requires-allocate-on-output-ports" />
+            <Limit name="size" min="64x64" max="1920X1080" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" min="1" max="489600" />
+            <Limit name="bitrate" range="1-50000000" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <!-- Video Software  -->
+        <MediaCodec name="OMX.SEC.h263.sw.dec" type="video/3gpp" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.avc.sw.dec" type="video/avc" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+            <Limit name="size" min="64x64" max="2048x2048" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.mpeg4.sw.dec" type="video/mp4v-es" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.vc1.sw.dec" >
+            <Type name="video/x-ms-wmv"/>
+            <Type name="video/wvc1"/>
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.wmv7.dec" type="video/x-ms-wmv7" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.wmv8.dec" type="video/x-ms-wmv8" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.mp43.dec" type="video/mp43" >
+        <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.hevc.sw.dec" type="video/hevc" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+            <Limit name="size" min="64x64" max="2048x2048" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.h263sr.dec" type="video/sorenson" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+        </MediaCodec>
+        <MediaCodec name="OMX.SEC.vp8.dec" type="video/x-vnd.on2.vp8" >
+            <Quirk name="decoder-ignores-streamcorrupt-error" />
+            <Limit name="size" min="64x64" max="2048x2048" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
+    </Decoders>
+    <Include href="media_codecs_google_video.xml" />
+    <Include href="media_codecs_google_audio.xml" />
+    <Include href="media_codecs_google_telephony.xml" />
+    <Encoders>
+        <MediaCodec name="OMX.SEC.naac.enc" type="audio/mp4a-latm">
+            <Limit name="channel-count" max="6" />
+            <Limit name="sample-rate" ranges="11025,12000,16000,22050,24000,32000,44100,48000" />
+            <Limit name="bitrate" range="8000-960000" />
+        </MediaCodec>
+    </Encoders>    
+</MediaCodecs>
diff --git a/media/media_profiles.xml b/media/media_profiles.xml
new file mode 100644
index 0000000..5c84010
--- /dev/null
+++ b/media/media_profiles.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012-2014, The Linux Foundation. All rights reserved
+     Not a contribution.
+
+     Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE MediaSettings [
+<!ELEMENT MediaSettings (CamcorderProfiles,
+                         EncoderOutputFileFormat+,
+                         VideoEncoderCap+,
+                         AudioEncoderCap+,
+                         VideoDecoderCap,
+                         AudioDecoderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality (low|high|qcif|qvga|720p|1080p|timelapselow|timelapsehigh|timelapseqcif|timelapseqvga|timelapse720p|timelapse1080p) #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac|lpcm) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2|6) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2|6) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT VideoEditorCap EMPTY>
+<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
+<!ELEMENT ExportVideoProfile EMPTY>
+<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
+<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
+<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
+]>
+<!--
+     This file is used to declare the multimedia profiles and capabilities
+     on an android-powered device.
+-->
+<MediaSettings>
+    <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+    <!-- Back Camera -->
+    <CamcorderProfiles cameraId="0" startOffsetMs="700">
+
+    <EncoderProfile quality="low" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="767000"
+             width="320"
+             height="240"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="3449000"
+             width="720"
+             height="480"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="12000000"
+             width="1280"
+             height="720"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="767000"
+             width="320"
+             height="240"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="3449000"
+             width="720"
+             height="480"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="12000000"
+             width="1280"
+             height="720"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <ImageEncoding quality="95" />
+        <ImageEncoding quality="80" />
+        <ImageEncoding quality="70" />
+        <ImageDecoding memCap="20000000" />
+
+    </CamcorderProfiles>
+
+    <!-- Front Camera -->
+    <CamcorderProfiles cameraId="1" startOffsetMs="700">
+
+    <EncoderProfile quality="low" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="767000"
+             width="320"
+             height="240"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="3449000"
+             width="720"
+             height="480"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="12000000"
+             width="1280"
+             height="720"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+       <!--
+             The Audio part of the profile will not be used since time lapse mode
+             does not capture audio
+       -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="384000"
+             width="176"
+             height="144"
+             frameRate="30" />
+
+       <!--
+             The Audio part of the profile will not be used since time lapse mode
+             does not capture audio
+       -->
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="767000"
+             width="320"
+             height="240"
+             frameRate="30" />
+
+      <!--
+             The Audio part of the profile will not be used since time lapse mode
+             does not capture audio
+       -->
+      <Audio codec="aac"
+             bitRate="128000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="3449000"
+             width="720"
+             height="480"
+             frameRate="30" />
+
+      <!--
+            The Audio part of the profile will not be used since time lapse mode
+            does not capture audio
+      -->
+            <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="12000000"
+             width="1280"
+             height="720"
+             frameRate="30" />
+
+       <!--
+             The Audio part of the profile will not be used since time lapse mode
+             does not capture audio
+       -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+      <Video codec="h264"
+             bitRate="17000000"
+             width="1920"
+             height="1080"
+             frameRate="30" />
+
+       <!--
+             The Audio part of the profile will not be used since time lapse mode
+             does not capture audio
+       -->
+      <Audio codec="aac"
+             bitRate="256000"
+             sampleRate="48000"
+             channels="2" />
+    </EncoderProfile>
+
+    <ImageEncoding quality="95" />
+    <ImageEncoding quality="80" />
+    <ImageEncoding quality="70" />
+    <ImageDecoding memCap="20000000" />
+
+    </CamcorderProfiles>
+
+    <EncoderOutputFileFormat name="3gp" />
+    <EncoderOutputFileFormat name="mp4" />
+
+    <!--
+         If a codec is not enabled, it is invisible to the applications
+         In other words, the applications won't be able to use the codec
+         or query the capabilities of the codec at all if it is disabled
+    -->
+    <VideoEncoderCap name="h264" enabled="true"
+        minBitRate="64000" maxBitRate="20000000"
+        minFrameWidth="176" maxFrameWidth="1920"
+        minFrameHeight="144" maxFrameHeight="1080"
+        minFrameRate="15" maxFrameRate="30"
+        maxHFRFrameWidth="1280" maxHFRFrameHeight="720"
+        maxHFRMode="60"  />
+
+    <VideoEncoderCap name="h263" enabled="true"
+        minBitRate="64000" maxBitRate="1000000"
+        minFrameWidth="176" maxFrameWidth="800"
+        minFrameHeight="144" maxFrameHeight="480"
+        minFrameRate="1" maxFrameRate="30"
+        maxHFRFrameWidth="0" maxHFRFrameHeight="0"
+        maxHFRMode="0"  />
+
+    <VideoEncoderCap name="m4v" enabled="true"
+        minBitRate="64000" maxBitRate="20000000"
+        minFrameWidth="176" maxFrameWidth="1920"
+        minFrameHeight="144" maxFrameHeight="1088"
+        minFrameRate="1" maxFrameRate="30"
+        maxHFRFrameWidth="0" maxHFRFrameHeight="0"
+        maxHFRMode="0"  />
+
+    <AudioEncoderCap name="aac" enabled="true"
+      minBitRate="8192" maxBitRate="256000"
+        minSampleRate="8000" maxSampleRate="48000"
+        minChannels="1" maxChannels="2" />
+
+    <AudioEncoderCap name="amrwb" enabled="true"
+        minBitRate="6600" maxBitRate="23850"
+        minSampleRate="16000" maxSampleRate="16000"
+        minChannels="1" maxChannels="1" />
+
+    <AudioEncoderCap name="amrnb" enabled="true"
+        minBitRate="5525" maxBitRate="12200"
+        minSampleRate="8000" maxSampleRate="8000"
+        minChannels="1" maxChannels="1" />
+
+    <AudioEncoderCap name="lpcm" enabled="true"
+        minBitRate="768000" maxBitRate="4608000"
+        minSampleRate="48000" maxSampleRate="48000"
+        minChannels="1" maxChannels="6" />
+
+    <!--
+        FIXME:
+        We do not check decoder capabilities at present
+        At present, we only check whether windows media is visible
+        for TEST applications. For other applications, we do
+        not perform any checks at all.
+    -->
+    <VideoDecoderCap name="wmv" enabled="false"/>
+    <AudioDecoderCap name="wma" enabled="false"/>
+    <!--
+        The VideoEditor Capability configuration:
+        - maxInputFrameWidth: maximum video width of imported video clip.
+        - maxInputFrameHeight: maximum video height of imported video clip.
+        - maxOutputFrameWidth: maximum video width of exported video clip.
+        - maxOutputFrameHeight: maximum video height of exported video clip.
+        - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
+        used to limit the amount of memory for prefetched YUV frames.
+        For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
+        frames) memory.
+    -->
+    <VideoEditorCap  maxInputFrameWidth="1920"
+        maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
+        maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
+    <!--
+        The VideoEditor Export codec profile and level values
+        correspond to the values in OMX_Video.h.
+        E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
+        and  level 4096 means OMX_VIDEO_AVCLevel41.
+        Please note that the values are in decimal.
+        These values are for video encoder.
+    -->
+    <!--
+      Codec = h.264, Baseline profile, level 4.0
+    -->
+    <ExportVideoProfile name="h264" profile= "1" level="2048"/>
+    <!--
+      Codec = h.263, Baseline profile, level 70
+    -->
+    <ExportVideoProfile name="h263" profile= "1" level="128"/>
+    <!--
+      Codec = mpeg4, Simple profile, level 5
+    -->
+    <ExportVideoProfile name="m4v" profile= "1" level="128"/>
+</MediaSettings>