summaryrefslogtreecommitdiff
authorJian Wang <jian.wang@amlogic.com>2017-11-10 07:16:37 (GMT)
committer Jian Wang <jian.wang@amlogic.com>2017-11-20 06:39:16 (GMT)
commitbcf77bffff442a8fd3f7e3e1ac084ca9ad1eb9a2 (patch)
tree16b20e597df8d0bdb0b3e692f1e6966795800f44
parent6a53ae689996668ee42ce735214fb3de3c62389b (diff)
downloadmedia-bcf77bffff442a8fd3f7e3e1ac084ca9ad1eb9a2.zip
media-bcf77bffff442a8fd3f7e3e1ac084ca9ad1eb9a2.tar.gz
media-bcf77bffff442a8fd3f7e3e1ac084ca9ad1eb9a2.tar.bz2
mediaext: add for media extensions [2/6]
PD# 152138 add media extensions Change-Id: I12765f9bdaf2445211473f090c2495a0fb9b7e66
Diffstat
-rw-r--r--ammediaext/AmMediaDefsExt.cpp71
-rw-r--r--ammediaext/AmMediaDefsExt.h78
-rw-r--r--ammediaext/AmMetaDataExt.h123
-rw-r--r--ammediaext/Android.mk22
-rw-r--r--ammediaext/OMX_VendorExt.h177
5 files changed, 471 insertions, 0 deletions
diff --git a/ammediaext/AmMediaDefsExt.cpp b/ammediaext/AmMediaDefsExt.cpp
new file mode 100644
index 0000000..bca32ac
--- a/dev/null
+++ b/ammediaext/AmMediaDefsExt.cpp
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#define __STDINT_LIMITS
+#define __STDC_LIMIT_MACROS
+#include <stdint.h>
+
+#include <AmMediaDefsExt.h>
+
+namespace android
+{
+
+const int64_t kUnknownPTS = INT64_MIN;
+
+const char *MEDIA_MIMETYPE_VIDEO_MJPEG = "video/mjpeg";
+const char *MEDIA_MIMETYPE_VIDEO_MSMPEG4 = "video/x-msmpeg";
+const char *MEDIA_MIMETYPE_VIDEO_SORENSON_SPARK = "video/x-sorenson-spark";
+const char *MEDIA_MIMETYPE_VIDEO_WMV = "video/x-ms-wmv";
+const char *MEDIA_MIMETYPE_VIDEO_VC1 = "video/vc1";
+const char *MEDIA_MIMETYPE_VIDEO_WVC1 = "video/wvc1";
+const char *MEDIA_MIMETYPE_VIDEO_VPX = "video/x-vnd.on2.vp8";
+const char *MEDIA_MIMETYPE_VIDEO_RM10 = "video/rm10";
+const char *MEDIA_MIMETYPE_VIDEO_RM20 = "video/rm20";
+const char *MEDIA_MIMETYPE_VIDEO_RM30 = "video/rm30";
+const char *MEDIA_MIMETYPE_VIDEO_RM40 = "video/rm40";
+const char *MEDIA_MIMETYPE_VIDEO_VP6 = "video/x-vnd.on2.vp6";
+const char *MEDIA_MIMETYPE_VIDEO_VP6F = "video/x-vnd.on2.vp6f";
+const char *MEDIA_MIMETYPE_VIDEO_VP6A = "video/x-vnd.on2.vp6a";
+const char *MEDIA_MIMETYPE_VIDEO_WMV1 = "video/wmv1";
+const char *MEDIA_MIMETYPE_VIDEO_WMV2 = "video/wmv2";
+const char *MEDIA_MIMETYPE_VIDEO_WMV3 = "video/wmv3";
+const char *MEDIA_MIMETYPE_VIDEO_MSWMV3 = "video/x-ms-wmv";
+
+
+const char *MEDIA_MIMETYPE_AUDIO_DTS = "audio/dtshd";
+const char *MEDIA_MIMETYPE_AUDIO_MP1 = "audio/mp1";
+const char *MEDIA_MIMETYPE_AUDIO_MP2 = "audio/mp2";
+const char *MEDIA_MIMETYPE_AUDIO_ADPCM_IMA = "audio/adpcm-ima";
+const char *MEDIA_MIMETYPE_AUDIO_ADPCM_MS = "audio/adpcm-ms";
+const char *MEDIA_MIMETYPE_AUDIO_ALAC = "audio/alac";
+const char *MEDIA_MIMETYPE_AUDIO_AAC_ADIF = "audio/aac-adif";
+const char *MEDIA_MIMETYPE_AUDIO_AAC_LATM = "audio/aac-latm";
+const char *MEDIA_MIMETYPE_AUDIO_ADTS_PROFILE = "audio/adts";
+const char *MEDIA_MIMETYPE_AUDIO_WMA = "audio/wma";
+const char *MEDIA_MIMETYPE_AUDIO_WMAPRO = "audio/wmapro";
+const char *MEDIA_MIMETYPE_AUDIO_DTSHD = "audio/dtshd";
+const char *MEDIA_MIMETYPE_AUDIO_TRUEHD = "audio/truehd";
+const char *MEDIA_MIMETYPE_AUDIO_EC3 = "audio/eac3";
+const char *MEDIA_MIMETYPE_AUDIO_APE = "audio/ape";
+const char *MEDIA_MIMETYPE_AUDIO_FFMPEG = "audio/ffmpeg";
+
+const char *MEDIA_MIMETYPE_TEXT_TTML = "application/ttml+xml";
+
+const char *MEDIA_MIMETYPE_CONTAINER_ASF = "video/x-ms-asf";
+const char *MEDIA_MIMETYPE_CONTAINER_FLV = "video/x-flv";
+const char *MEDIA_MIMETYPE_CONTAINER_AIFF = "audio/x-aiff";
+const char *MEDIA_MIMETYPE_CONTAINER_DDP = "audio/ddp";
+} // namespace android
diff --git a/ammediaext/AmMediaDefsExt.h b/ammediaext/AmMediaDefsExt.h
new file mode 100644
index 0000000..1dee085
--- a/dev/null
+++ b/ammediaext/AmMediaDefsExt.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#ifndef AM_MEDIA_DEFS_EXT_H_
+
+#define AM_MEDIA_DEFS_EXT_H_
+
+#include <stdint.h>
+
+namespace android {
+
+extern const int64_t kUnknownPTS;
+
+extern const char *MEDIA_MIMETYPE_VIDEO_MSMPEG4;
+extern const char *MEDIA_MIMETYPE_VIDEO_MJPEG;
+extern const char *MEDIA_MIMETYPE_VIDEO_SORENSON_SPARK;
+extern const char *MEDIA_MIMETYPE_VIDEO_WMV;
+extern const char *MEDIA_MIMETYPE_VIDEO_VC1;
+extern const char *MEDIA_MIMETYPE_VIDEO_WVC1;
+
+extern const char *MEDIA_MIMETYPE_VIDEO_VP6;
+extern const char *MEDIA_MIMETYPE_VIDEO_VP6F;
+extern const char *MEDIA_MIMETYPE_VIDEO_VP6A;
+extern const char *MEDIA_MIMETYPE_VIDEO_HEVC;
+extern const char *MEDIA_MIMETYPE_VIDEO_VPX;
+extern const char *MEDIA_MIMETYPE_VIDEO_RM10;
+extern const char *MEDIA_MIMETYPE_VIDEO_RM20;
+extern const char *MEDIA_MIMETYPE_VIDEO_RM30;
+extern const char *MEDIA_MIMETYPE_VIDEO_RM40;
+extern const char *MEDIA_MIMETYPE_VIDEO_WMV1;
+extern const char *MEDIA_MIMETYPE_VIDEO_WMV2;
+extern const char *MEDIA_MIMETYPE_VIDEO_WMV3;
+extern const char *MEDIA_MIMETYPE_VIDEO_MSWMV3;
+
+extern const char *MEDIA_MIMETYPE_VIDEO_VC1;
+extern const char *MEDIA_MIMETYPE_VIDEO_WVC1;
+
+extern const char *MEDIA_MIMETYPE_AUDIO_DTS;
+extern const char *MEDIA_MIMETYPE_AUDIO_MP1;
+extern const char *MEDIA_MIMETYPE_AUDIO_MP2;
+extern const char *MEDIA_MIMETYPE_AUDIO_ADPCM_IMA;
+extern const char *MEDIA_MIMETYPE_AUDIO_ADPCM_MS;
+extern const char *MEDIA_MIMETYPE_AUDIO_ALAC;
+extern const char *MEDIA_MIMETYPE_AUDIO_AAC_ADIF;
+extern const char *MEDIA_MIMETYPE_AUDIO_AAC_LATM;
+extern const char *MEDIA_MIMETYPE_AUDIO_ADTS_PROFILE;
+extern const char *MEDIA_MIMETYPE_AUDIO_WMA;
+extern const char *MEDIA_MIMETYPE_AUDIO_WMAPRO;
+extern const char *MEDIA_MIMETYPE_AUDIO_FFMPEG;
+extern const char *MEDIA_MIMETYPE_AUDIO_DTSHD;
+extern const char *MEDIA_MIMETYPE_AUDIO_APE;
+extern const char *MEDIA_MIMETYPE_AUDIO_EC3;
+extern const char *MEDIA_MIMETYPE_AUDIO_TRUEHD;
+extern const char *MEDIA_MIMETYPE_AUDIO_ADTS_PROFILE;
+
+
+extern const char *MEDIA_MIMETYPE_TEXT_TTML;
+
+extern const char *MEDIA_MIMETYPE_CONTAINER_ASF;
+extern const char *MEDIA_MIMETYPE_CONTAINER_FLV;
+extern const char *MEDIA_MIMETYPE_CONTAINER_DDP;
+extern const char *MEDIA_MIMETYPE_CONTAINER_AIFF;
+} // namespace android
+
+#endif // AM_MEDIA_DEFS_EXT_H_
diff --git a/ammediaext/AmMetaDataExt.h b/ammediaext/AmMetaDataExt.h
new file mode 100644
index 0000000..30421cf
--- a/dev/null
+++ b/ammediaext/AmMetaDataExt.h
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#ifndef AM_META_DATA_EXT_H_
+
+#define AM_META_DATA_EXT_H_
+
+#include <sys/types.h>
+
+#include <stdint.h>
+
+#include <utils/RefBase.h>
+#include <utils/KeyedVector.h>
+#include <utils/String8.h>
+
+namespace android {
+
+// The following keys map to int32_t data unless indicated otherwise.
+enum {
+ // DRM information to implement secure pipeline
+ kKeyDrmID = 'drID', // raw data
+
+ // kKeyFrameRate already exists, but we want a real number like 29.97.
+ kKeyFrameRateQ16 = 'frQF', // int32_t (video frame rate fps in Q16)
+ // Key to store codec specific data.
+ kKeyCodecSpecific = 'cosp', // raw data
+ // Keys for WMA codec initialization parameters.
+ kKeyWMABlockAlign = 'blkA', // int32_t
+ kKeyWMABitsPerSample = 'btSp', // int32_t
+ kKeyWMAFormatTag = 'foTg', // int32_t
+
+ // Key to pass native window to OMX components.
+ kKeyNativeWindow = 'nawi', // pointer
+
+ // Key to pass CryptoInfo to player.
+ kKeyCryptoInfo = 'cryi', // pointer
+
+ // Key to adjust the timing of video/audio format change notification.
+ kKeyFormatChangeTime = 'fctu', // int64_t (usecs)
+
+ // Keys to pass the original PTS and DTS to the decoder component.
+ kKeyPTSFromContainer = 'ptsC', // int64_t (usecs)
+ kKeyDTSFromContainer = 'dtsC', // int64_t (usecs)
+ kKeyMediaTimeOffset = 'mOfs', // int64_t (usecs)
+
+ // Keys to support various PCM formats.
+ kKeyPCMBitsPerSample = 'Pbps', // int32_t
+ kKeyPCMDataEndian = 'Pend', // int32_t (OMX_ENDIANTYPE)
+ kKeyPCMDataSigned = 'Psgn', // int32_t (OMX_NUMERICALDATATYPE)
+
+ // Keys to inner subtitle support
+ kKeyStreamTimeBaseNum = 'tiBS', //int32_t stream time base num
+ kKeyStreamTimeBaseDen = 'tiDS', //int32_t stream time base den
+ kKeyStreamStartTime = 'stTS', //int64_t stream start time
+ kKeyStreamCodecID = 'cIDS', //int32_t stream codec id
+ kKeyStreamCodecTag = 'cTgS', //int32_t stream codec tag
+ kKeyPktSize = 'sizP', // int32_t avPacket size
+ kKeyPktPts = 'ptsP', // int64_t avPacket pts
+ kKeyPktDts = 'dtsP', // int64_t avPacket dts
+ kKeyPktDuration = 'durP', // int32_t avPacket duration
+ kKeyPktConvergenceDuration = 'cduP', // int64_t avPacket convergence duration
+ kKeyPktFirstVPts = 'VPts', // int64_t first video pts
+
+
+ // audio profile
+ kKeyAudioProfile = 'aprf', // int32_t
+ kKeyExtraData = 'exda',
+ kKeyExtraDataSize = 'edsz',
+ kKeyCodecID = 'cdid',
+
+ //amffmpeg extended types
+ kKeyProgramName = 'proN', // cstring
+ kKeyProgramNum = 'PrgN', // int32_t
+ kKeyIsMVC = 'mvc ', // bool (int32_t)
+ kKey4kOSD = '4OSD', // bool (int32_t)
+ KKeyIsDV = 'isDV', // bool (int32_t)
+
+ kKeyBlockAlign = 'bagn',
+ kKeyAudioFlag ='aufg', // audio info reported from decoder to indicate special info
+ kKeyDtsDecoderVer ='dtsV',
+ kKeyDts958Fs ='dtsF',
+ kKeyDts958PktSize ='dtsP',
+ kKeyDts958PktType ='dtsT',
+ kKeyDtsPcmSampsInFrmMaxFs='dtsS',
+
+
+};
+
+
+namespace media {
+
+typedef int32_t Type;
+
+// Amplayer extended types.
+static const int kAmlTypeBase = 8192; //extend first id.
+static const Type kAudioTrackNum = kAmlTypeBase + 1; // Integer
+static const Type kVideoTrackNum = kAmlTypeBase + 2; // Integer
+static const Type kInnerSubtitleNum = kAmlTypeBase + 3; // Integer
+static const Type kAudioCodecAllInfo = kAmlTypeBase + 4; // String
+static const Type kVideoCodecAllInfo = kAmlTypeBase + 5; // String
+static const Type kInnerSubtitleAllInfo = kAmlTypeBase + 6; // String
+static const Type kStreamType = kAmlTypeBase + 7; // String
+static const Type kPlayerType = kAmlTypeBase + 8; // Integer
+
+} // namespace android::media
+
+
+} // namespace android
+
+#endif // AM_META_DATA_EXT_H_
diff --git a/ammediaext/Android.mk b/ammediaext/Android.mk
new file mode 100644
index 0000000..0a6c35f
--- a/dev/null
+++ b/ammediaext/Android.mk
@@ -0,0 +1,22 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_VENDOR_MODULE := true
+LOCAL_SRC_FILES := \
+ AmMediaDefsExt.cpp \
+
+LOCAL_C_INCLUDES += \
+ $(TOP)/frameworks/native/include/media/openmax \
+ $(TOP)/system/core/include/utils \
+ $(LOCAL_PATH)/include/
+
+LOCAL_SHARED_LIBRARIES := \
+ libcutils \
+ libdl \
+ libutils \
+ liblog \
+
+
+LOCAL_MODULE:= libammediaext
+include $(BUILD_SHARED_LIBRARY)
diff --git a/ammediaext/OMX_VendorExt.h b/ammediaext/OMX_VendorExt.h
new file mode 100644
index 0000000..7b0a48e
--- a/dev/null
+++ b/ammediaext/OMX_VendorExt.h
@@ -0,0 +1,177 @@
+/*
+ * 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.
+ */
+#ifndef OMX_VendorExt_h
+#define OMX_VendorExt_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <OMX_Core.h>
+
+typedef enum OMX_AUDIO_VENDOR_CODINGEXTTYPE {
+ OMX_AUDIO_CodingAndroidDTSHD = OMX_AUDIO_CodingVendorStartUnused, /**< DTSHD encoded data */
+ OMX_AUDIO_CodingAndroidALAC,
+ OMX_AUDIO_CodingAndroidTRUEHD,
+ OMX_AUDIO_CodingFFMPEG, /**< ffmpeg audio encoded data */
+} OMX_AUDIO_VENDOR_CODINGEXTTYPE;
+
+typedef enum OMX_VIDEO_VENDOR_CODINGEXTTYPE {
+ OMX_VIDEO_ExtCodingUnused = OMX_VIDEO_CodingVendorStartUnused,
+ OMX_VIDEO_CodingVC1,
+ OMX_VIDEO_CodingVP6, /**< VP6 */
+ OMX_VIDEO_CodingMSMPEG4, /**< MSMPEG4 */
+ OMX_VIDEO_CodingSorenson, /**< Sorenson codec*/
+ OMX_VIDEO_CodingWMV3,
+ OMX_VIDEO_CodingRV10,
+ OMX_VIDEO_CodingRV20,
+ OMX_VIDEO_CodingRV30,
+ OMX_VIDEO_CodingRV40,
+} OMX_VIDEO_CODINGEXTTYPE;
+
+typedef enum OMX_VENDOR_INDEXEXTTYPE {
+ OMX_IndexParamAudioAndroidDtshd = OMX_IndexVendorStartUnused + 0x00100000, /**< reference: OMX_AUDIO_PARAM_ANDROID_DTSHDTYPE */
+ OMX_IndexParamAudioAndroidAsf, /**< reference: OMX_AUDIO_PARAM_ANDROID_ASFTYPE */
+ OMX_IndexParamAudioAndroidApe,/**< reference: OMX_AUDIO_PARAM_ANDROID_APETYPE */
+ OMX_IndexParamAudioAndroidAlac, /**< reference: OMX_AUDIO_PARAM_ANDROID_ALACTYPE */
+ OMX_IndexParamAudioAndroidTruehd, /**< reference: OMX_AUDIO_PARAM_ANDROID_TRUEHDTYPE */
+ OMX_IndexParamAudioFFmpeg,
+ OMX_IndexParamAudioDolbyAudio, /**< reference: OMX_AUDIO_PARAM_DOLBYAUDIOTYPE */
+
+ OMX_IndexParamLowLatencyMode = OMX_IndexVendorStartUnused + 0x00200000, /* add by aml */
+ OMX_IndexParam4kosd, /* add by aml */
+} OMX_VENDOR_INDEXEXTTYPE;
+
+typedef struct OMX_AUDIO_PARAM_DOLBYAUDIOTYPE {
+ OMX_U32 nSize; /**< size of the structure in bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< port that this structure applies to */
+ OMX_BOOL bExtendFormat; /**< Using extend format for output 4Bytes PCM size + pcm data + 4Bytes Raw size + Raw data*/
+ OMX_U32 nAudioCodec; /**< AudioCodec. 1.ac3 2.eac3. */
+} OMX_AUDIO_PARAM_DOLBYAUDIOTYPE;
+
+typedef struct OMX_AUDIO_PARAM_ANDROID_DTSHDTYPE {
+ OMX_U32 nSize; /**< Size of this structure, in Bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< Port that this structure applies to */
+
+ OMX_U16 nChannels;
+ OMX_U32 nSamplesPerSec;
+ OMX_U16 bitwidth;
+ OMX_BOOL bExtendFormat; /**< Using extend format for output 4Bytes PCM size + pcm data + 4Bytes Raw size + Raw data */
+ int HwHDPCMoutCap;
+ int HwMulChoutCap;
+} OMX_AUDIO_PARAM_ANDROID_DTSHDTYPE;
+
+typedef struct OMX_AUDIO_PARAM_ANDROID_ASFTYPE {
+ OMX_U32 nSize; /**< Size of this structure, in Bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< Port that this structure applies to */
+
+ OMX_U16 wFormatTag;
+ OMX_U16 nChannels;
+ OMX_U32 nSamplesPerSec;
+ OMX_U32 nAvgBitratePerSec;
+ OMX_U16 nBlockAlign;
+ OMX_U16 wBitsPerSample;
+ OMX_U16 extradata_size;
+ OMX_U8 extradata[128];
+} OMX_AUDIO_PARAM_ASFTYPE;
+
+/** Ffmpeg params */
+typedef struct OMX_AUDIO_PARAM_FFMPEGTYPE {
+ OMX_U32 nSize; /**< Size of this structure, in Bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< Port that this structure applies to */
+ OMX_U32 nChannels; /**< Number of channels */
+ OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
+ rate or unknown bit rates */
+ OMX_U32 nSamplingRate; /**< is the sampling rate of the source data */
+ OMX_U32 nBitPerSample; /**< Bit per sample */
+ OMX_U32 nBlockAlign; /**< block align */
+ OMX_U32 nCodecID; /**<codec id **/
+ OMX_U32 nExtraData_Size; /** extra data size **/
+ OMX_U8 nExtraData[1]; /** extra data point **/
+} OMX_AUDIO_PARAM_FFMPEGTYPE;
+
+typedef struct OMX_AUDIO_PARAM_ANDROID_APETYPE {
+ OMX_U32 nSize; /**< Size of this structure, in Bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< Port that this structure applies to */
+
+ OMX_U16 nChannels;
+ OMX_U32 nSamplesPerSec;
+ OMX_U16 wBitsPerSample;
+ OMX_U16 extradata_size;
+ OMX_U8 *extradata;
+} OMX_AUDIO_PARAM_APETYPE;
+
+typedef struct OMX_AUDIO_PARAM__ANDROID_TRUEHDTYPE {
+ OMX_U32 nSize; /**< size of the structure in bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< port that this structure applies to */
+
+ OMX_U16 nChannels;
+ OMX_U32 nSamplesPerSec;
+ OMX_U16 wBitsPerSample;
+ OMX_BOOL bExtendFormat; /**< Using extend format for output 4Bytes PCM size + pcm data + 4Bytes Raw size + Raw data*/
+ OMX_U32 nAudioCodec; /**< AudioCodec. 1.ac3 2.eac3. */
+} OMX_AUDIO_PARAM__ANDROID_TRUEHDTYPE;
+
+typedef struct OMX_AUDIO_PARAM_ANDROID_ALACTYPE {
+ OMX_U32 nSize; /**< Size of this structure, in Bytes */
+ OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
+ OMX_U32 nPortIndex; /**< Port that this structure applies to */
+
+ OMX_U16 nChannels;
+ OMX_U32 nSamplesPerSec;
+ OMX_U16 extradata_size;
+ OMX_U8 *extradata;
+} OMX_AUDIO_PARAM_ALACTYPE;
+
+typedef struct OMX_VIDEO_FORCESHUTDOWMCOMPONENT{
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_BOOL isForceShutdowm;
+} OMX_VIDEO_FORCESHUTDOWMCOMPONENT;
+
+typedef struct OMX_VIDEO_PARAM_IS_MVC {
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_BOOL bIsMVC;
+} OMX_VIDEO_PARAM_IS_MVC;
+
+/**
+ * AML RM/WMV2 Video information
+ */
+typedef struct OMX_VIDEO_INFO {
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_U8 mExtraData[128];
+ OMX_U32 nExtraDataSize;
+ OMX_U32 width;
+ OMX_U32 height;
+} OMX_VIDEO_INFO;
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* OMX_VindorExt_h */
+/* File EOF */