summaryrefslogtreecommitdiff
path: root/ammediaext/OMX_VendorExt.h (plain)
blob: ea7b119c1be609019c3e17ebb0e4ff2aaf253119
1/*
2 * Copyright (C) 2010 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#ifndef OMX_VendorExt_h
17#define OMX_VendorExt_h
18
19#ifdef __cplusplus
20extern "C" {
21#endif /* __cplusplus */
22
23#include <OMX_Core.h>
24
25typedef enum OMX_AUDIO_VENDOR_CODINGEXTTYPE {
26 OMX_AUDIO_CodingAndroidDTSHD = OMX_AUDIO_CodingVendorStartUnused, /**< DTSHD encoded data */
27 OMX_AUDIO_CodingAndroidALAC,
28 OMX_AUDIO_CodingAndroidTRUEHD,
29 OMX_AUDIO_CodingFFMPEG, /**< ffmpeg audio encoded data */
30} OMX_AUDIO_VENDOR_CODINGEXTTYPE;
31
32typedef enum OMX_VIDEO_VENDOR_CODINGEXTTYPE {
33 OMX_VIDEO_ExtCodingUnused = OMX_VIDEO_CodingVendorStartUnused,
34 OMX_VIDEO_CodingVC1,
35 OMX_VIDEO_CodingVP6, /**< VP6 */
36 OMX_VIDEO_CodingMSMPEG4, /**< MSMPEG4 */
37 OMX_VIDEO_CodingSorenson, /**< Sorenson codec*/
38 OMX_VIDEO_CodingWMV3,
39 OMX_VIDEO_CodingRV10,
40 OMX_VIDEO_CodingRV20,
41 OMX_VIDEO_CodingRV30,
42 OMX_VIDEO_CodingRV40,
43 OMX_VIDEO_CodingAVS,
44} OMX_VIDEO_CODINGEXTTYPE;
45
46typedef enum OMX_VENDOR_INDEXEXTTYPE {
47 OMX_IndexParamAudioAndroidDtshd = OMX_IndexVendorStartUnused + 0x00100000, /**< reference: OMX_AUDIO_PARAM_ANDROID_DTSHDTYPE */
48 OMX_IndexParamAudioAndroidAsf, /**< reference: OMX_AUDIO_PARAM_ANDROID_ASFTYPE */
49 OMX_IndexParamAudioAndroidApe,/**< reference: OMX_AUDIO_PARAM_ANDROID_APETYPE */
50 OMX_IndexParamAudioAndroidAlac, /**< reference: OMX_AUDIO_PARAM_ANDROID_ALACTYPE */
51 OMX_IndexParamAudioAndroidTruehd, /**< reference: OMX_AUDIO_PARAM_ANDROID_TRUEHDTYPE */
52 OMX_IndexParamAudioFFmpeg,
53 OMX_IndexParamAudioDolbyAudio, /**< reference: OMX_AUDIO_PARAM_DOLBYAUDIOTYPE */
54
55 OMX_IndexParamLowLatencyMode = OMX_IndexVendorStartUnused + 0x00200000, /* add by aml */
56 OMX_IndexParam4kosd, /* add by aml */
57} OMX_VENDOR_INDEXEXTTYPE;
58
59typedef struct OMX_AUDIO_PARAM_DOLBYAUDIOTYPE {
60 OMX_U32 nSize; /**< size of the structure in bytes */
61 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
62 OMX_U32 nPortIndex; /**< port that this structure applies to */
63 OMX_BOOL bExtendFormat; /**< Using extend format for output 4Bytes PCM size + pcm data + 4Bytes Raw size + Raw data*/
64 OMX_U32 nAudioCodec; /**< AudioCodec. 1.ac3 2.eac3. */
65} OMX_AUDIO_PARAM_DOLBYAUDIOTYPE;
66
67typedef struct OMX_AUDIO_PARAM_ANDROID_DTSHDTYPE {
68 OMX_U32 nSize; /**< Size of this structure, in Bytes */
69 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
70 OMX_U32 nPortIndex; /**< Port that this structure applies to */
71
72 OMX_U16 nChannels;
73 OMX_U32 nSamplesPerSec;
74 OMX_U16 bitwidth;
75 OMX_BOOL bExtendFormat; /**< Using extend format for output 4Bytes PCM size + pcm data + 4Bytes Raw size + Raw data */
76 int HwHDPCMoutCap;
77 int HwMulChoutCap;
78} OMX_AUDIO_PARAM_ANDROID_DTSHDTYPE;
79
80typedef struct OMX_AUDIO_PARAM_ANDROID_ASFTYPE {
81 OMX_U32 nSize; /**< Size of this structure, in Bytes */
82 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
83 OMX_U32 nPortIndex; /**< Port that this structure applies to */
84
85 OMX_U16 wFormatTag;
86 OMX_U16 nChannels;
87 OMX_U32 nSamplesPerSec;
88 OMX_U32 nAvgBitratePerSec;
89 OMX_U16 nBlockAlign;
90 OMX_U16 wBitsPerSample;
91 OMX_U16 extradata_size;
92 OMX_U8 extradata[128];
93} OMX_AUDIO_PARAM_ASFTYPE;
94
95/** Ffmpeg params */
96typedef struct OMX_AUDIO_PARAM_FFMPEGTYPE {
97 OMX_U32 nSize; /**< Size of this structure, in Bytes */
98 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
99 OMX_U32 nPortIndex; /**< Port that this structure applies to */
100 OMX_U32 nChannels; /**< Number of channels */
101 OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
102 rate or unknown bit rates */
103 OMX_U32 nSamplingRate; /**< is the sampling rate of the source data */
104 OMX_U32 nBitPerSample; /**< Bit per sample */
105 OMX_U32 nBlockAlign; /**< block align */
106 OMX_U32 nCodecID; /**<codec id **/
107 OMX_U32 nExtraData_Size; /** extra data size **/
108 OMX_U8 nExtraData[1]; /** extra data point **/
109} OMX_AUDIO_PARAM_FFMPEGTYPE;
110
111typedef struct OMX_AUDIO_PARAM_ANDROID_APETYPE {
112 OMX_U32 nSize; /**< Size of this structure, in Bytes */
113 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
114 OMX_U32 nPortIndex; /**< Port that this structure applies to */
115
116 OMX_U16 nChannels;
117 OMX_U32 nSamplesPerSec;
118 OMX_U16 wBitsPerSample;
119 OMX_U16 extradata_size;
120 OMX_U8 *extradata;
121} OMX_AUDIO_PARAM_APETYPE;
122
123typedef struct OMX_AUDIO_PARAM__ANDROID_TRUEHDTYPE {
124 OMX_U32 nSize; /**< size of the structure in bytes */
125 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
126 OMX_U32 nPortIndex; /**< port that this structure applies to */
127
128 OMX_U16 nChannels;
129 OMX_U32 nSamplesPerSec;
130 OMX_U16 wBitsPerSample;
131 OMX_BOOL bExtendFormat; /**< Using extend format for output 4Bytes PCM size + pcm data + 4Bytes Raw size + Raw data*/
132 OMX_U32 nAudioCodec; /**< AudioCodec. 1.ac3 2.eac3. */
133} OMX_AUDIO_PARAM__ANDROID_TRUEHDTYPE;
134
135typedef struct OMX_AUDIO_PARAM_ANDROID_ALACTYPE {
136 OMX_U32 nSize; /**< Size of this structure, in Bytes */
137 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
138 OMX_U32 nPortIndex; /**< Port that this structure applies to */
139
140 OMX_U16 nChannels;
141 OMX_U32 nSamplesPerSec;
142 OMX_U16 extradata_size;
143 OMX_U8 *extradata;
144} OMX_AUDIO_PARAM_ALACTYPE;
145
146typedef struct OMX_VIDEO_FORCESHUTDOWMCOMPONENT{
147 OMX_U32 nSize;
148 OMX_VERSIONTYPE nVersion;
149 OMX_U32 nPortIndex;
150 OMX_BOOL isForceShutdowm;
151} OMX_VIDEO_FORCESHUTDOWMCOMPONENT;
152
153typedef struct OMX_VIDEO_PARAM_IS_MVC {
154 OMX_U32 nSize;
155 OMX_VERSIONTYPE nVersion;
156 OMX_U32 nPortIndex;
157 OMX_BOOL bIsMVC;
158} OMX_VIDEO_PARAM_IS_MVC;
159
160/**
161 * AML RM/WMV2 Video information
162 */
163typedef struct OMX_VIDEO_INFO {
164 OMX_U32 nSize;
165 OMX_VERSIONTYPE nVersion;
166 OMX_U32 nPortIndex;
167 OMX_U8 mExtraData[128];
168 OMX_U32 nExtraDataSize;
169 OMX_U32 width;
170 OMX_U32 height;
171} OMX_VIDEO_INFO;
172
173#ifdef __cplusplus
174}
175#endif /* __cplusplus */
176
177#endif /* OMX_VindorExt_h */
178/* File EOF */
179