Merge "Replacing LOCAL_COPY_HEADERS with LOCAL_EXPORT_C_INCLUDE_DIRS, for VNDK" am: 1079b0b1d3 am: 05d18dc7ca am: 1940e0bbe8
am: 22b44d7e81
Change-Id: I8bd77bd7ff158ed18277c35f5ff957e3c8cffa9c
diff --git a/msm8998/mm-core/src/msmcobalt/registry_table.c b/msm8998/mm-core/src/msmcobalt/registry_table.c
deleted file mode 100644
index 7381960..0000000
--- a/msm8998/mm-core/src/msmcobalt/registry_table.c
+++ /dev/null
@@ -1,656 +0,0 @@
-/*--------------------------------------------------------------------------
-Copyright (c) 2016, 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.qcom.video.decoder.mpeg4",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.mpeg4"
- }
- },
- {
- "OMX.qcom.video.decoder.vc1",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.vc1"
- }
- },
- {
- "OMX.qcom.video.decoder.wmv",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.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.divx4",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.divx"
- }
- },
- {
- "OMX.qcom.video.decoder.divx",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.divx"
- }
- },
- {
- "OMX.qcom.video.decoder.divx311",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.divx"
- }
- },
- {
- "OMX.qcom.video.decoder.h263",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.h263"
- }
- },
- {
- "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.qcom.video.encoder.mpeg4",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVenc.so",
- {
- "video_encoder.mpeg4"
- }
- },
- {
- "OMX.qcom.video.encoder.h263",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVenc.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.encoder.g711mlaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Enc.so",
- {
- "audio_encoder.g711"
- }
- },
- {
- "OMX.qcom.audio.encoder.g711alaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Enc.so",
- {
- "audio_encoder.g711"
- }
- },
- {
- "OMX.qcom.audio.encoder.amrwb",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxAmrEnc.so",
- {
- "audio_encoder.amrwb"
- }
- },
- {
- "OMX.qcom.audio.decoder.g711mlaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Dec.so",
- {
- "audio_decoder.g711"
- }
- },
- {
- "OMX.qcom.audio.decoder.g711alaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Dec.so",
- {
- "audio_decoder.g711"
- }
- },
- {
- "OMX.qcom.audio.decoder.amrwb",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxAmrDec.so",
- {
- "audio_decoder.amrwb"
- }
- },
- {
- "OMX.qcom.audio.decoder.amrnb",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxAmrDec.so",
- {
- "audio_decoder.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/msm8998/mm-core/src/msmcobalt/registry_table_android.c b/msm8998/mm-core/src/msmcobalt/registry_table_android.c
deleted file mode 100644
index 4997afe..0000000
--- a/msm8998/mm-core/src/msmcobalt/registry_table_android.c
+++ /dev/null
@@ -1,910 +0,0 @@
-/*--------------------------------------------------------------------------
-Copyright (c) 2016, 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.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.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.divx4",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.divx"
- }
- },
- {
- "OMX.qcom.video.decoder.divx",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.divx"
- }
- },
- {
- "OMX.qcom.video.decoder.divx311",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.divx"
- }
- },
- {
- "OMX.qcom.video.decoder.mpeg4",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.mpeg4"
- }
- },
- {
- "OMX.qcom.video.decoder.mpeg4.secure",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.mpeg4"
- }
- },
- {
- "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.qcom.video.decoder.vc1",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.vc1"
- }
- },
- {
- "OMX.qcom.video.decoder.vc1.secure",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.vc1"
- }
- },
- {
- "OMX.qcom.video.decoder.wmv",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.vc1"
- }
- },
- {
- "OMX.qcom.video.decoder.wmv.secure",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.vc1"
- }
- },
- {
- "OMX.qcom.video.decoder.h263",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVdec.so",
- {
- "video_decoder.h263"
- }
- },
- {
- "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.qcom.video.encoder.mpeg4",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVenc.so",
- {
- "video_encoder.mpeg4"
- }
- },
- {
- "OMX.qcom.video.encoder.h263",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxVenc.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.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.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.encoder.g711mlaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Enc.so",
- {
- "audio_encoder.g711"
- }
- },
- {
- "OMX.qcom.audio.encoder.g711alaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Enc.so",
- {
- "audio_encoder.g711"
- }
- },
- {
- "OMX.qcom.audio.encoder.amrwb",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxAmrEnc.so",
- {
- "audio_encoder.amrwb"
- }
- },
- {
- "OMX.qcom.audio.decoder.g711mlaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Dec.so",
- {
- "audio_decoder.g711"
- }
- },
- {
- "OMX.qcom.audio.decoder.g711alaw",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxG711Dec.so",
- {
- "audio_decoder.g711"
- }
- },
- {
- "OMX.qcom.audio.decoder.amrwb",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxAmrDec.so",
- {
- "audio_decoder.amrwb"
- }
- },
- {
- "OMX.qcom.audio.decoder.amrnb",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL
- },
- NULL, // Shared object library handle
- "libOmxAmrDec.so",
- {
- "audio_decoder.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.file.muxer",
- NULL, // Create instance function
- // Unique instance handle
- {
- NULL,
- NULL,
- NULL,
- NULL
- },
- NULL, // Shared object library handle
- "libOmxMux.so",
- {
- "container_muxer.mp2"
- }
- },
- {
- "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/msm8998/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/msm8998/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
index 99b0c6e..31bbda2 100644
--- a/msm8998/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
+++ b/msm8998/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
@@ -253,19 +253,27 @@
}
} else if (dqevent.type == V4L2_EVENT_MSM_VIDC_FLUSH_DONE) {
struct vdec_msginfo vdec_msg;
- vdec_msg.msgcode=VDEC_MSG_RESP_FLUSH_INPUT_DONE;
+ uint32_t flush_type = *(uint32_t *)dqevent.u.data;
+ // Old driver doesn't send flushType information.
+ // To make this backward compatible fallback to old approach
+ // if the flush_type is not present.
vdec_msg.status_code=VDEC_S_SUCCESS;
- DEBUG_PRINT_HIGH("VIDC Input Flush Done Recieved");
- if (omx->async_message_process(input,&vdec_msg) < 0) {
- DEBUG_PRINT_HIGH("async_message_thread Exited");
- break;
+ if (!flush_type || (flush_type & V4L2_QCOM_CMD_FLUSH_OUTPUT)) {
+ vdec_msg.msgcode=VDEC_MSG_RESP_FLUSH_INPUT_DONE;
+ DEBUG_PRINT_HIGH("VIDC Input Flush Done Recieved");
+ if (omx->async_message_process(input,&vdec_msg) < 0) {
+ DEBUG_PRINT_HIGH("async_message_thread Exited");
+ break;
+ }
}
- vdec_msg.msgcode=VDEC_MSG_RESP_FLUSH_OUTPUT_DONE;
- vdec_msg.status_code=VDEC_S_SUCCESS;
- DEBUG_PRINT_HIGH("VIDC Output Flush Done Recieved");
- if (omx->async_message_process(input,&vdec_msg) < 0) {
- DEBUG_PRINT_HIGH("async_message_thread Exited");
- break;
+
+ if (!flush_type || (flush_type & V4L2_QCOM_CMD_FLUSH_CAPTURE)) {
+ vdec_msg.msgcode=VDEC_MSG_RESP_FLUSH_OUTPUT_DONE;
+ DEBUG_PRINT_HIGH("VIDC Output Flush Done Recieved");
+ if (omx->async_message_process(input,&vdec_msg) < 0) {
+ DEBUG_PRINT_HIGH("async_message_thread Exited");
+ break;
+ }
}
} else if (dqevent.type == V4L2_EVENT_MSM_VIDC_HW_OVERLOAD) {
struct vdec_msginfo vdec_msg;
@@ -569,7 +577,7 @@
{
char platform_name[PROPERTY_VALUE_MAX] = {0};
property_get("ro.board.platform", platform_name, "0");
- if (!strncmp(platform_name, "msm8998", 9)) {
+ if (!strncmp(platform_name, "msm8998", 7)) {
DEBUG_PRINT_HIGH("TP10 on capture port is supported");
return true;
}
@@ -7749,12 +7757,13 @@
rc = ioctl(drv_ctx.video_driver_fd, VIDIOC_QBUF, &buf);
if (rc) {
- /*TODO: How to handle this case */
buffer->nFilledLen = 0;
- DEBUG_PRINT_ERROR("Failed to qbuf to driver, send FTB back to client");
+ DEBUG_PRINT_ERROR("Failed to qbuf to driver, error %s", strerror(errno));
m_cb.FillBufferDone(hComp, m_app_data, buffer);
+ return OMX_ErrorHardware;
}
-return OMX_ErrorNone;
+
+ return OMX_ErrorNone;
}
/* ======================================================================
diff --git a/msm8998/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/msm8998/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
index 73e7cf7..70e1e35 100644
--- a/msm8998/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
+++ b/msm8998/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
@@ -7778,6 +7778,8 @@
(m_sVenc_cfg.fps_num / m_sVenc_cfg.fps_den) <=
(m_pq.caps.max_mb_per_sec / ((m_sVenc_cfg.input_height * m_sVenc_cfg.input_width) / 256));
+ frame_rate_supported = (((operating_rate >> 16) > 0) && ((operating_rate >> 16) < 5)) ? false : frame_rate_supported;
+
yuv_format_supported = ((m_sVenc_cfg.inputformat == V4L2_PIX_FMT_NV12 && (m_pq.caps.color_formats & BIT(COLOR_FMT_NV12)))
|| (m_sVenc_cfg.inputformat == V4L2_PIX_FMT_NV21 && (m_pq.caps.color_formats & BIT(COLOR_FMT_NV21)))
|| (m_sVenc_cfg.inputformat == V4L2_PIX_FMT_NV12_UBWC && (m_pq.caps.color_formats & BIT(COLOR_FMT_NV12_UBWC))));