Merge "mm-core: Add support for qcs605 target"
diff --git a/mm-core/Android.mk b/mm-core/Android.mk
index 6340394..9a0659c 100644
--- a/mm-core/Android.mk
+++ b/mm-core/Android.mk
@@ -18,6 +18,8 @@
MM_CORE_TARGET = msmpeafowl
else ifeq ($(filter $(TARGET_BOARD_PLATFORM), sdm670),$(TARGET_BOARD_PLATFORM))
MM_CORE_TARGET = sdm670
+else ifeq ($(filter $(TARGET_BOARD_PLATFORM), qcs605),$(TARGET_BOARD_PLATFORM))
+MM_CORE_TARGET = qcs605
else
MM_CORE_TARGET = default
endif
@@ -73,7 +75,7 @@
LOCAL_SRC_FILES := src/common/omx_core_cmp.cpp
LOCAL_SRC_FILES += src/common/qc_omx_core.c
-ifneq (,$(filter sdm845 msmpeafowl sdm670,$(TARGET_BOARD_PLATFORM)))
+ifneq (,$(filter sdm845 msmpeafowl sdm670 qcs605,$(TARGET_BOARD_PLATFORM)))
LOCAL_SRC_FILES += src/$(MM_CORE_TARGET)/registry_table_android.c
else
LOCAL_SRC_FILES += src/$(MM_CORE_TARGET)/qc_registry_table_android.c
@@ -101,7 +103,7 @@
LOCAL_SRC_FILES := src/common/omx_core_cmp.cpp
LOCAL_SRC_FILES += src/common/qc_omx_core.c
-ifneq (,$(filter sdm845 msmpeafowl sdm670,$(TARGET_BOARD_PLATFORM)))
+ifneq (,$(filter sdm845 msmpeafowl sdm670 qcs605,$(TARGET_BOARD_PLATFORM)))
LOCAL_SRC_FILES += src/$(MM_CORE_TARGET)/registry_table.c
else
LOCAL_SRC_FILES += src/$(MM_CORE_TARGET)/qc_registry_table.c
diff --git a/mm-core/src/qcs605/registry_table.c b/mm-core/src/qcs605/registry_table.c
new file mode 100644
index 0000000..1170fa1
--- /dev/null
+++ b/mm-core/src/qcs605/registry_table.c
@@ -0,0 +1,531 @@
+/*--------------------------------------------------------------------------
+Copyright (c) 2016 - 2017, The Linux Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+--------------------------------------------------------------------------*/
+/*============================================================================
+ O p e n M A X w r a p p e r s
+ O p e n M A X C o r e
+
+ This module contains the registry table for the OpenMAX core.
+
+*//*========================================================================*/
+
+#include "qc_omx_core.h"
+
+omx_core_cb_type core[] =
+{
+ {
+ "OMX.qcom.video.decoder.avc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.avc.dsmode",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVideoDSMode.so",
+ {
+ "video_decoder.avc"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.vc1sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.vc1"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.wmvsw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.vc1"
+ }
+ },
+ {
+ "OMX.qcom.file.muxer",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+
+ "libOmxMux.so",
+ {
+ "container_muxer.mp2"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.hevc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.hevc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.vp8",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.vp8"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.vp9",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.vp9"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.mpeg4sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.mpeg4"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.divxsw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.divx"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.divx4sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.divx"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.h263sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.h263"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.mpeg4sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVencMpeg4.so",
+ {
+ "video_encoder.mpeg4"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.h263sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVencMpeg4.so",
+ {
+ "video_encoder.h263"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.avc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.vp8",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.vp8",
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.hevc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.hevc"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.Qcelp13",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxQcelp13Dec.so",
+ {
+ "audio_decoder.Qcelp13"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.evrc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxEvrcDec.so",
+ {
+ "audio_decoder.evrc"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.wma",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxWmaDec.so",
+ {
+ "audio_decoder.wma"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.wma10Pro",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxWmaDec.so",
+ {
+ "audio_decoder.wma"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.alac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAlacDec.so",
+ {
+ "audio_decoder.alac"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.ape",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxApeDec.so",
+ {
+ "audio_decoder.ape"
+ }
+ },
+ {
+ "OMX.qti.audio.decoder.dsd",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxDsdDec.so",
+ {
+ "audio_decoder.dsd"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.aac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAacEnc.so",
+ {
+ "audio_encoder.aac"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.qcelp13",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxQcelp13Enc.so",
+ {
+ "audio_encoder.qcelp13"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.evrc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxEvrcEnc.so",
+ {
+ "audio_encoder.evrc"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.amrnb",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAmrEnc.so",
+ {
+ "audio_encoder.amrnb"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.aac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAacDec.so",
+ {
+ "audio_decoder.aac"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.multiaac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAacDec.so",
+ {
+ "audio_decoder.aac"
+ }
+ },
+ {
+ "OMX.qti.vdec.vpp",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVpp.so",
+ {
+ "video_decoder.vpp"
+ }
+ }
+};
+
+const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
+
+
diff --git a/mm-core/src/qcs605/registry_table_android.c b/mm-core/src/qcs605/registry_table_android.c
new file mode 100644
index 0000000..9155c19
--- /dev/null
+++ b/mm-core/src/qcs605/registry_table_android.c
@@ -0,0 +1,736 @@
+/*--------------------------------------------------------------------------
+Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--------------------------------------------------------------------------*/
+/*============================================================================
+ O p e n M A X w r a p p e r s
+ O p e n M A X C o r e
+
+ This module contains the registry table for the OpenMAX core.
+
+*//*========================================================================*/
+
+
+#include "qc_omx_core.h"
+
+omx_core_cb_type core[] =
+{
+ {
+ "OMX.qcom.video.decoder.avc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.avc.secure",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.mpeg2",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.mpeg2"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.mpeg2.secure",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.mpeg2"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.vc1sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.vc1"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.hevc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.hevc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.hevc.secure",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.hevc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.vp8",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.vp8"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.vp9",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.vp9"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.vp9.secure",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVdec.so",
+ {
+ "video_decoder.vp9"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.mpeg4sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.mpeg4"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.divxsw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.divx"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.divx4sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.divx"
+ }
+ },
+ {
+ "OMX.qti.video.decoder.h263sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVdec.so",
+ {
+ "video_decoder.h263"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.mpeg4sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVencMpeg4.so",
+ {
+ "video_encoder.mpeg4"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.h263sw",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxSwVencMpeg4.so",
+ {
+ "video_encoder.h263"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.avc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.avc.secure",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.vp8",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.vp8"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.hevc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.hevc"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.Qcelp13",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxQcelp13Dec.so",
+ {
+ "audio_decoder.Qcelp13"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.evrc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxEvrcDec.so",
+ {
+ "audio_decoder.evrc"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.wma",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxWmaDec.so",
+ {
+ "audio_decoder.wma"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.wma10Pro",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxWmaDec.so",
+ {
+ "audio_decoder.wma"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.wmaLossLess",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxWmaDec.so",
+ {
+ "audio_decoder.wma"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.amrwbplus",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAmrwbplusDec.so",
+ {
+ "audio_decoder.awbplus"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.alac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAlacDec.so",
+ {
+ "audio_decoder.alac"
+ }
+ },
+ {
+ "OMX.qti.audio.decoder.alac.sw",
+ NULL, // Create instance function
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAlacDecSw.so",
+ {
+ "audio_decoder.alac"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.ape",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxApeDec.so",
+ {
+ "audio_decoder.ape"
+ }
+ },
+ {
+ "OMX.qti.audio.decoder.ape.sw",
+ NULL, // Create instance function
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxApeDecSw.so",
+ {
+ "audio_decoder.ape"
+ }
+ },
+ {
+ "OMX.qti.audio.decoder.dsd",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxDsdDec.so",
+ {
+ "audio_decoder.dsd"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.aac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAacEnc.so",
+ {
+ "audio_encoder.aac"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.qcelp13",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxQcelp13Enc.so",
+ {
+ "audio_encoder.qcelp13"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.evrc",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxEvrcEnc.so",
+ {
+ "audio_encoder.evrc"
+ }
+ },
+ {
+ "OMX.qcom.audio.encoder.amrnb",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAmrEnc.so",
+ {
+ "audio_encoder.amrnb"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.aac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAacDec.so",
+ {
+ "audio_decoder.aac"
+ }
+ },
+ {
+ "OMX.qcom.audio.decoder.multiaac",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxAacDec.so",
+ {
+ "audio_decoder.aac"
+ }
+ },
+ {
+ "AIV.play.generic",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libAivPlay.so",
+ {
+ "AIV.play.role.generic"
+ }
+ },
+ {
+ "OMX.QCOM.CUST.COMP.START",
+ NULL, //Create instance function
+ //Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL,
+ NULL, // Shared object library handle
+ {
+ NULL
+ }
+ },
+ {
+ "OMX.qcom.file.muxer",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxMux.so",
+ {
+ "container_muxer.mp2"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.avc.secure.dsmode",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVideoDSMode.so",
+ {
+ "video_decoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.decoder.avc.dsmode",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVideoDSMode.so",
+ {
+ "video_decoder.avc"
+ }
+ },
+ {
+ "OMX.qcom.video.encoder.hevc.secure",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVenc.so",
+ {
+ "video_encoder.hevc"
+ }
+ },
+ {
+ "OMX.qti.vdec.vpp",
+ NULL, // Create instance function
+ // Unique instance handle
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ NULL, // Shared object library handle
+ "libOmxVpp.so",
+ {
+ "video_decoder.vpp"
+ }
+ }
+};
+
+const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
+
+
diff --git a/mm-video-v4l2/vidc/vdec/Android.mk b/mm-video-v4l2/vidc/vdec/Android.mk
index 5ee4746..94137f6 100644
--- a/mm-video-v4l2/vidc/vdec/Android.mk
+++ b/mm-video-v4l2/vidc/vdec/Android.mk
@@ -24,8 +24,8 @@
libmm-vdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
TARGETS_THAT_HAVE_VENUS_HEVC := apq8084 msm8994 msm8996
-TARGETS_THAT_SUPPORT_UBWC := msm8996 msm8953 msm8998 sdm660 sdm845 msmpeafowl sdm670
-TARGETS_THAT_NEED_SW_VDEC := msm8937 sdm845 msmpeafowl sdm670
+TARGETS_THAT_SUPPORT_UBWC := msm8996 msm8953 msm8998 sdm660 sdm845 msmpeafowl sdm670 qcs605
+TARGETS_THAT_NEED_SW_VDEC := msm8937 sdm845 msmpeafowl sdm670 qcs605
ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_HAVE_VENUS_HEVC)),true)
libmm-vdec-def += -DVENUS_HEVC
diff --git a/mm-video-v4l2/vidc/venc/Android.mk b/mm-video-v4l2/vidc/venc/Android.mk
index 87f6679..058a902 100644
--- a/mm-video-v4l2/vidc/venc/Android.mk
+++ b/mm-video-v4l2/vidc/venc/Android.mk
@@ -21,11 +21,11 @@
libmm-venc-def += -D_ANDROID_ICS_
TARGETS_THAT_USE_FLAG_MSM8226 := msm8226 msm8916 msm8909
-TARGETS_THAT_NEED_SW_VENC_MPEG4 := msm8909 msm8937 sdm845 msmpeafowl sdm670
+TARGETS_THAT_NEED_SW_VENC_MPEG4 := msm8909 msm8937 sdm845 msmpeafowl sdm670 qcs605
TARGETS_THAT_NEED_SW_VENC_HEVC := msm8992
-TARGETS_THAT_SUPPORT_UBWC := msm8996 msm8998 sdm845 msmpeafowl sdm670
+TARGETS_THAT_SUPPORT_UBWC := msm8996 msm8998 sdm845 msmpeafowl sdm670 qcs605
TARGETS_THAT_SUPPORT_VQZIP := msm8996 msm8998
-TARGETS_THAT_SUPPORT_SW_VENC_ROTATION := sdm845 msmpeafowl sdm670
+TARGETS_THAT_SUPPORT_SW_VENC_ROTATION := sdm845 msmpeafowl sdm670 qcs605
ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
libmm-venc-def += -D_MSM8610_