OMX_Video.h revision 5195e0808bbc0438f076c1ca92d3c257d64b7ca1
1334de520b0369215b7931fefa424fb92d295f0ebJames Dong/* ------------------------------------------------------------------ 2334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Copyright (C) 1998-2009 PacketVideo 3334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 4334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Licensed under the Apache License, Version 2.0 (the "License"); 5334de520b0369215b7931fefa424fb92d295f0ebJames Dong * you may not use this file except in compliance with the License. 6334de520b0369215b7931fefa424fb92d295f0ebJames Dong * You may obtain a copy of the License at 7334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 8334de520b0369215b7931fefa424fb92d295f0ebJames Dong * http://www.apache.org/licenses/LICENSE-2.0 9334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 10334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Unless required by applicable law or agreed to in writing, software 11334de520b0369215b7931fefa424fb92d295f0ebJames Dong * distributed under the License is distributed on an "AS IS" BASIS, 12334de520b0369215b7931fefa424fb92d295f0ebJames Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13334de520b0369215b7931fefa424fb92d295f0ebJames Dong * express or implied. 14334de520b0369215b7931fefa424fb92d295f0ebJames Dong * See the License for the specific language governing permissions 15334de520b0369215b7931fefa424fb92d295f0ebJames Dong * and limitations under the License. 16334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ------------------------------------------------------------------- 17334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 18334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 19334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Copyright (c) 2008 The Khronos Group Inc. 20334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 21334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Permission is hereby granted, free of charge, to any person obtaining 22334de520b0369215b7931fefa424fb92d295f0ebJames Dong * a copy of this software and associated documentation files (the 23334de520b0369215b7931fefa424fb92d295f0ebJames Dong * "Software"), to deal in the Software without restriction, including 24334de520b0369215b7931fefa424fb92d295f0ebJames Dong * without limitation the rights to use, copy, modify, merge, publish, 25334de520b0369215b7931fefa424fb92d295f0ebJames Dong * distribute, sublicense, and/or sell copies of the Software, and to 26334de520b0369215b7931fefa424fb92d295f0ebJames Dong * permit persons to whom the Software is furnished to do so, subject 27334de520b0369215b7931fefa424fb92d295f0ebJames Dong * to the following conditions: 28334de520b0369215b7931fefa424fb92d295f0ebJames Dong * The above copyright notice and this permission notice shall be included 29334de520b0369215b7931fefa424fb92d295f0ebJames Dong * in all copies or substantial portions of the Software. 30334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 31334de520b0369215b7931fefa424fb92d295f0ebJames Dong * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 32334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 33334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 34334de520b0369215b7931fefa424fb92d295f0ebJames Dong * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 35334de520b0369215b7931fefa424fb92d295f0ebJames Dong * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 36334de520b0369215b7931fefa424fb92d295f0ebJames Dong * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 37334de520b0369215b7931fefa424fb92d295f0ebJames Dong * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 38334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 39334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 40334de520b0369215b7931fefa424fb92d295f0ebJames Dong 41334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 42334de520b0369215b7931fefa424fb92d295f0ebJames Dong * @file OMX_Video.h - OpenMax IL version 1.1.2 43334de520b0369215b7931fefa424fb92d295f0ebJames Dong * The structures is needed by Video components to exchange parameters 44334de520b0369215b7931fefa424fb92d295f0ebJames Dong * and configuration data with OMX components. 45334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 46334de520b0369215b7931fefa424fb92d295f0ebJames Dong#ifndef OMX_Video_h 47334de520b0369215b7931fefa424fb92d295f0ebJames Dong#define OMX_Video_h 48334de520b0369215b7931fefa424fb92d295f0ebJames Dong 49334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** @defgroup video OpenMAX IL Video Domain 50334de520b0369215b7931fefa424fb92d295f0ebJames Dong * @ingroup iv 51334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structures for OpenMAX IL Video domain 52334de520b0369215b7931fefa424fb92d295f0ebJames Dong * @{ 53334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 54334de520b0369215b7931fefa424fb92d295f0ebJames Dong 55334de520b0369215b7931fefa424fb92d295f0ebJames Dong#ifdef __cplusplus 56334de520b0369215b7931fefa424fb92d295f0ebJames Dongextern "C" { 57334de520b0369215b7931fefa424fb92d295f0ebJames Dong#endif /* __cplusplus */ 58334de520b0369215b7931fefa424fb92d295f0ebJames Dong 59334de520b0369215b7931fefa424fb92d295f0ebJames Dong 60334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 61334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Each OMX header must include all required header files to allow the 62334de520b0369215b7931fefa424fb92d295f0ebJames Dong * header to compile without errors. The includes below are required 63334de520b0369215b7931fefa424fb92d295f0ebJames Dong * for this header file to compile successfully 64334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 65334de520b0369215b7931fefa424fb92d295f0ebJames Dong 66334de520b0369215b7931fefa424fb92d295f0ebJames Dong#include <OMX_IVCommon.h> 67334de520b0369215b7931fefa424fb92d295f0ebJames Dong 68334de520b0369215b7931fefa424fb92d295f0ebJames Dong 69334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 70334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Enumeration used to define the possible video compression codings. 71334de520b0369215b7931fefa424fb92d295f0ebJames Dong * NOTE: This essentially refers to file extensions. If the coding is 72334de520b0369215b7931fefa424fb92d295f0ebJames Dong * being used to specify the ENCODE type, then additional work 73334de520b0369215b7931fefa424fb92d295f0ebJames Dong * must be done to configure the exact flavor of the compression 74334de520b0369215b7931fefa424fb92d295f0ebJames Dong * to be used. For decode cases where the user application can 75334de520b0369215b7931fefa424fb92d295f0ebJames Dong * not differentiate between MPEG-4 and H.264 bit streams, it is 76334de520b0369215b7931fefa424fb92d295f0ebJames Dong * up to the codec to handle this. 77334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 78334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_CODINGTYPE { 79334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingUnused, /**< Value when coding is N/A */ 80334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingAutoDetect, /**< Autodetection of coding type */ 81334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingMPEG2, /**< AKA: H.262 */ 82334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingH263, /**< H.263 */ 83334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingMPEG4, /**< MPEG-4 */ 84334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingWMV, /**< all versions of Windows Media Video */ 85334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingRV, /**< all versions of Real Video */ 86334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingAVC, /**< H.264/AVC */ 87334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */ 885195e0808bbc0438f076c1ca92d3c257d64b7ca1hkuang OMX_VIDEO_CodingVP8, /**< Google VP8, formerly known as On2 VP8 */ 895195e0808bbc0438f076c1ca92d3c257d64b7ca1hkuang OMX_VIDEO_CodingVP9, /**< Google VP9 */ 90334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 91334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 92334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CodingMax = 0x7FFFFFFF 93334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_CODINGTYPE; 94334de520b0369215b7931fefa424fb92d295f0ebJames Dong 95334de520b0369215b7931fefa424fb92d295f0ebJames Dong 96334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 97334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Data structure used to define a video path. The number of Video paths for 98334de520b0369215b7931fefa424fb92d295f0ebJames Dong * input and output will vary by type of the Video component. 99334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 100334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Input (aka Source) : zero Inputs, one Output, 101334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Splitter : one Input, 2 or more Outputs, 102334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Processing Element : one Input, one output, 103334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Mixer : 2 or more inputs, one output, 104334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Output (aka Sink) : one Input, zero outputs. 105334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 106334de520b0369215b7931fefa424fb92d295f0ebJames Dong * The PortDefinition structure is used to define all of the parameters 107334de520b0369215b7931fefa424fb92d295f0ebJames Dong * necessary for the compliant component to setup an input or an output video 108334de520b0369215b7931fefa424fb92d295f0ebJames Dong * path. If additional vendor specific data is required, it should be 109334de520b0369215b7931fefa424fb92d295f0ebJames Dong * transmitted to the component using the CustomCommand function. Compliant 110334de520b0369215b7931fefa424fb92d295f0ebJames Dong * components will prepopulate this structure with optimal values during the 111334de520b0369215b7931fefa424fb92d295f0ebJames Dong * GetDefaultInitParams command. 112334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 113334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 114334de520b0369215b7931fefa424fb92d295f0ebJames Dong * cMIMEType : MIME type of data for the port 115334de520b0369215b7931fefa424fb92d295f0ebJames Dong * pNativeRender : Platform specific reference for a display if a 116334de520b0369215b7931fefa424fb92d295f0ebJames Dong * sync, otherwise this field is 0 117334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nFrameWidth : Width of frame to be used on channel if 118334de520b0369215b7931fefa424fb92d295f0ebJames Dong * uncompressed format is used. Use 0 for unknown, 119334de520b0369215b7931fefa424fb92d295f0ebJames Dong * don't care or variable 120334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nFrameHeight : Height of frame to be used on channel if 121334de520b0369215b7931fefa424fb92d295f0ebJames Dong * uncompressed format is used. Use 0 for unknown, 122334de520b0369215b7931fefa424fb92d295f0ebJames Dong * don't care or variable 123334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nStride : Number of bytes per span of an image 124334de520b0369215b7931fefa424fb92d295f0ebJames Dong * (i.e. indicates the number of bytes to get 125334de520b0369215b7931fefa424fb92d295f0ebJames Dong * from span N to span N+1, where negative stride 126334de520b0369215b7931fefa424fb92d295f0ebJames Dong * indicates the image is bottom up 127334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSliceHeight : Height used when encoding in slices 128334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBitrate : Bit rate of frame to be used on channel if 129334de520b0369215b7931fefa424fb92d295f0ebJames Dong * compressed format is used. Use 0 for unknown, 130334de520b0369215b7931fefa424fb92d295f0ebJames Dong * don't care or variable 131334de520b0369215b7931fefa424fb92d295f0ebJames Dong * xFramerate : Frame rate to be used on channel if uncompressed 132334de520b0369215b7931fefa424fb92d295f0ebJames Dong * format is used. Use 0 for unknown, don't care or 133334de520b0369215b7931fefa424fb92d295f0ebJames Dong * variable. Units are Q16 frames per second. 134334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bFlagErrorConcealment : Turns on error concealment if it is supported by 135334de520b0369215b7931fefa424fb92d295f0ebJames Dong * the OMX component 136334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eCompressionFormat : Compression format used in this instance of the 137334de520b0369215b7931fefa424fb92d295f0ebJames Dong * component. When OMX_VIDEO_CodingUnused is 138334de520b0369215b7931fefa424fb92d295f0ebJames Dong * specified, eColorFormat is used 139334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eColorFormat : Decompressed format used by this component 140334de520b0369215b7931fefa424fb92d295f0ebJames Dong * pNativeWindow : Platform specific reference for a window object if a 141334de520b0369215b7931fefa424fb92d295f0ebJames Dong * display sink , otherwise this field is 0x0. 142334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 143334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PORTDEFINITIONTYPE { 144334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_STRING cMIMEType; 145334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_NATIVE_DEVICETYPE pNativeRender; 146334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nFrameWidth; 147334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nFrameHeight; 148334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_S32 nStride; 149334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSliceHeight; 150334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBitrate; 151334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 xFramerate; 152334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bFlagErrorConcealment; 153334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CODINGTYPE eCompressionFormat; 154334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_COLOR_FORMATTYPE eColorFormat; 155334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_NATIVE_WINDOWTYPE pNativeWindow; 156334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PORTDEFINITIONTYPE; 157334de520b0369215b7931fefa424fb92d295f0ebJames Dong 158334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 159334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Port format parameter. This structure is used to enumerate the various 160334de520b0369215b7931fefa424fb92d295f0ebJames Dong * data input/output format supported by the port. 161334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 162334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 163334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 164334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 165334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Indicates which port to set 166334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nIndex : Indicates the enumeration index for the format from 167334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 0x0 to N-1 168334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eCompressionFormat : Compression format used in this instance of the 169334de520b0369215b7931fefa424fb92d295f0ebJames Dong * component. When OMX_VIDEO_CodingUnused is specified, 170334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eColorFormat is used 171334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eColorFormat : Decompressed format used by this component 172334de520b0369215b7931fefa424fb92d295f0ebJames Dong * xFrameRate : Indicates the video frame rate in Q16 format 173334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 174334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE { 175334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 176334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 177334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 178334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nIndex; 179334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CODINGTYPE eCompressionFormat; 180334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_COLOR_FORMATTYPE eColorFormat; 181334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 xFramerate; 182334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_PORTFORMATTYPE; 183334de520b0369215b7931fefa424fb92d295f0ebJames Dong 184334de520b0369215b7931fefa424fb92d295f0ebJames Dong 185334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 186334de520b0369215b7931fefa424fb92d295f0ebJames Dong * This is a structure for configuring video compression quantization 187334de520b0369215b7931fefa424fb92d295f0ebJames Dong * parameter values. Codecs may support different QP values for different 188334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frame types. 189334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 190334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 191334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 192334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version info 193334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 194334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nQpI : QP value to use for index frames 195334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nQpP : QP value to use for P frames 196334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nQpB : QP values to use for bidirectional frames 197334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 198334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE { 199334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 200334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 201334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 202334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nQpI; 203334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nQpP; 204334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nQpB; 205334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_QUANTIZATIONTYPE; 206334de520b0369215b7931fefa424fb92d295f0ebJames Dong 207334de520b0369215b7931fefa424fb92d295f0ebJames Dong 208334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 209334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure for configuration of video fast update parameters. 210334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 211334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 212334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 213334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version info 214334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 215334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableVFU : Enable/Disable video fast update 216334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nFirstGOB : Specifies the number of the first macroblock row 217334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nFirstMB : specifies the first MB relative to the specified first GOB 218334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB 219334de520b0369215b7931fefa424fb92d295f0ebJames Dong * and nFirstMB 220334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 221334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE { 222334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 223334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 224334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 225334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableVFU; 226334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nFirstGOB; 227334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nFirstMB; 228334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nNumMBs; 229334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE; 230334de520b0369215b7931fefa424fb92d295f0ebJames Dong 231334de520b0369215b7931fefa424fb92d295f0ebJames Dong 232334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 233334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Enumeration of possible bitrate control types 234334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 235334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_CONTROLRATETYPE { 236334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateDisable, 237334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateVariable, 238334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateConstant, 239334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateVariableSkipFrames, 240334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateConstantSkipFrames, 241334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 242334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 243334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_ControlRateMax = 0x7FFFFFFF 244334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_CONTROLRATETYPE; 245334de520b0369215b7931fefa424fb92d295f0ebJames Dong 246334de520b0369215b7931fefa424fb92d295f0ebJames Dong 247334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 248334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure for configuring bitrate mode of a codec. 249334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 250334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 251334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the struct in bytes 252334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX spec version info 253334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this struct applies to 254334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eControlRate : Control rate type enum 255334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nTargetBitrate : Target bitrate to encode with 256334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 257334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_BITRATETYPE { 258334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 259334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 260334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 261334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_CONTROLRATETYPE eControlRate; 262334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nTargetBitrate; 263334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_BITRATETYPE; 264334de520b0369215b7931fefa424fb92d295f0ebJames Dong 265334de520b0369215b7931fefa424fb92d295f0ebJames Dong 266334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 267334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Enumeration of possible motion vector (MV) types 268334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 269334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_MOTIONVECTORTYPE { 270334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorPixel, 271334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorHalfPel, 272334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorQuarterPel, 273334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorEighthPel, 274334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 275334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 276334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_Video_MotionVectorMax = 0x7FFFFFFF 277334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_MOTIONVECTORTYPE; 278334de520b0369215b7931fefa424fb92d295f0ebJames Dong 279334de520b0369215b7931fefa424fb92d295f0ebJames Dong 280334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 281334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure for configuring the number of motion vectors used as well 282334de520b0369215b7931fefa424fb92d295f0ebJames Dong * as their accuracy. 283334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 284334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 285334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the struct in bytes 286334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX spec version info 287334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : port that this structure applies to 288334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eAccuracy : Enumerated MV accuracy 289334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bUnrestrictedMVs : Allow unrestricted MVs 290334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bFourMV : Allow use of 4 MVs 291334de520b0369215b7931fefa424fb92d295f0ebJames Dong * sXSearchRange : Search range in horizontal direction for MVs 292334de520b0369215b7931fefa424fb92d295f0ebJames Dong * sYSearchRange : Search range in vertical direction for MVs 293334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 294334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE { 295334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 296334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 297334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 298334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MOTIONVECTORTYPE eAccuracy; 299334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bUnrestrictedMVs; 300334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bFourMV; 301334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_S32 sXSearchRange; 302334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_S32 sYSearchRange; 303334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_MOTIONVECTORTYPE; 304334de520b0369215b7931fefa424fb92d295f0ebJames Dong 305334de520b0369215b7931fefa424fb92d295f0ebJames Dong 306334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 307334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Enumeration of possible methods to use for Intra Refresh 308334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 309334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_INTRAREFRESHTYPE { 310334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_IntraRefreshCyclic, 311334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_IntraRefreshAdaptive, 312334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_IntraRefreshBoth, 313334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 314334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_IntraRefreshVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 315334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_IntraRefreshMax = 0x7FFFFFFF 316334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_INTRAREFRESHTYPE; 317334de520b0369215b7931fefa424fb92d295f0ebJames Dong 318334de520b0369215b7931fefa424fb92d295f0ebJames Dong 319334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 320334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure for configuring intra refresh mode 321334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 322334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 323334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 324334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 325334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 326334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eRefreshMode : Cyclic, Adaptive, or Both 327334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nAirMBs : Number of intra macroblocks to refresh in a frame when 328334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AIR is enabled 329334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nAirRef : Number of times a motion marked macroblock has to be 330334de520b0369215b7931fefa424fb92d295f0ebJames Dong * intra coded 331334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nCirMBs : Number of consecutive macroblocks to be coded as "intra" 332334de520b0369215b7931fefa424fb92d295f0ebJames Dong * when CIR is enabled 333334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 334334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE { 335334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 336334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 337334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 338334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode; 339334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nAirMBs; 340334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nAirRef; 341334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nCirMBs; 342334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_INTRAREFRESHTYPE; 343334de520b0369215b7931fefa424fb92d295f0ebJames Dong 344334de520b0369215b7931fefa424fb92d295f0ebJames Dong 345334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 346334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure for enabling various error correction methods for video 347334de520b0369215b7931fefa424fb92d295f0ebJames Dong * compression. 348334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 349334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 350334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 351334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 352334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 353334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableHEC : Enable/disable header extension codes (HEC) 354334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableResync : Enable/disable resynchronization markers 355334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nResynchMarkerSpacing : Resynch markers interval (in bits) to be 356334de520b0369215b7931fefa424fb92d295f0ebJames Dong * applied in the stream 357334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableDataPartitioning : Enable/disable data partitioning 358334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableRVLC : Enable/disable reversible variable length 359334de520b0369215b7931fefa424fb92d295f0ebJames Dong * coding 360334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 361334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE { 362334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 363334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 364334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 365334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableHEC; 366334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableResync; 367334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nResynchMarkerSpacing; 368334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableDataPartitioning; 369334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableRVLC; 370334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE; 371334de520b0369215b7931fefa424fb92d295f0ebJames Dong 372334de520b0369215b7931fefa424fb92d295f0ebJames Dong 373334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 374334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Configuration of variable block-size motion compensation (VBSMC) 375334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 376334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 377334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 378334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 379334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 380334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b16x16 : Enable inter block search 16x16 381334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b16x8 : Enable inter block search 16x8 382334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b8x16 : Enable inter block search 8x16 383334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b8x8 : Enable inter block search 8x8 384334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b8x4 : Enable inter block search 8x4 385334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b4x8 : Enable inter block search 4x8 386334de520b0369215b7931fefa424fb92d295f0ebJames Dong * b4x4 : Enable inter block search 4x4 387334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 388334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_VBSMCTYPE { 389334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 390334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 391334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 392334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b16x16; 393334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b16x8; 394334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b8x16; 395334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b8x8; 396334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b8x4; 397334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b4x8; 398334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL b4x4; 399334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_VBSMCTYPE; 400334de520b0369215b7931fefa424fb92d295f0ebJames Dong 401334de520b0369215b7931fefa424fb92d295f0ebJames Dong 402334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 403334de520b0369215b7931fefa424fb92d295f0ebJames Dong * H.263 profile types, each profile indicates support for various 404334de520b0369215b7931fefa424fb92d295f0ebJames Dong * performance bounds and different annexes. 405334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 406334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ENUMS: 407334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Baseline : Baseline Profile: H.263 (V1), no optional modes 408334de520b0369215b7931fefa424fb92d295f0ebJames Dong * H320 Coding : H.320 Coding Efficiency Backward Compatibility 409334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Profile: H.263+ (V2), includes annexes I, J, L.4 410334de520b0369215b7931fefa424fb92d295f0ebJames Dong * and T 411334de520b0369215b7931fefa424fb92d295f0ebJames Dong * BackwardCompatible : Backward Compatibility Profile: H.263 (V1), 412334de520b0369215b7931fefa424fb92d295f0ebJames Dong * includes annex F 413334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ISWV2 : Interactive Streaming Wireless Profile: H.263+ 414334de520b0369215b7931fefa424fb92d295f0ebJames Dong * (V2), includes annexes I, J, K and T 415334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ISWV3 : Interactive Streaming Wireless Profile: H.263++ 416334de520b0369215b7931fefa424fb92d295f0ebJames Dong * (V3), includes profile 3 and annexes V and W.6.3.8 417334de520b0369215b7931fefa424fb92d295f0ebJames Dong * HighCompression : Conversational High Compression Profile: H.263++ 418334de520b0369215b7931fefa424fb92d295f0ebJames Dong * (V3), includes profiles 1 & 2 and annexes D and U 419334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Internet : Conversational Internet Profile: H.263++ (V3), 420334de520b0369215b7931fefa424fb92d295f0ebJames Dong * includes profile 5 and annex K 421334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Interlace : Conversational Interlace Profile: H.263++ (V3), 422334de520b0369215b7931fefa424fb92d295f0ebJames Dong * includes profile 5 and annex W.6.3.11 423334de520b0369215b7931fefa424fb92d295f0ebJames Dong * HighLatency : High Latency Profile: H.263++ (V3), includes 424334de520b0369215b7931fefa424fb92d295f0ebJames Dong * profile 6 and annexes O.1 and P.5 425334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 426334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_H263PROFILETYPE { 427334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileBaseline = 0x01, 428334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileH320Coding = 0x02, 429334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileBackwardCompatible = 0x04, 430334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileISWV2 = 0x08, 431334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileISWV3 = 0x10, 432334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileHighCompression = 0x20, 433334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileInternet = 0x40, 434334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileInterlace = 0x80, 435334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileHighLatency = 0x100, 436334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 437334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 438334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF 439334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_H263PROFILETYPE; 440334de520b0369215b7931fefa424fb92d295f0ebJames Dong 441334de520b0369215b7931fefa424fb92d295f0ebJames Dong 442334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 443334de520b0369215b7931fefa424fb92d295f0ebJames Dong * H.263 level types, each level indicates support for various frame sizes, 444334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bit rates, decoder frame rates. 445334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 446334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_H263LEVELTYPE { 447334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level10 = 0x01, 448334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level20 = 0x02, 449334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level30 = 0x04, 450334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level40 = 0x08, 451334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level45 = 0x10, 452334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level50 = 0x20, 453334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level60 = 0x40, 454334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263Level70 = 0x80, 455334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 456334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 457334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263LevelMax = 0x7FFFFFFF 458334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_H263LEVELTYPE; 459334de520b0369215b7931fefa424fb92d295f0ebJames Dong 460334de520b0369215b7931fefa424fb92d295f0ebJames Dong 461334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 462334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Specifies the picture type. These values should be OR'd to signal all 463334de520b0369215b7931fefa424fb92d295f0ebJames Dong * pictures types which are allowed. 464334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 465334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ENUMS: 466334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Generic Picture Types: I, P and B 467334de520b0369215b7931fefa424fb92d295f0ebJames Dong * H.263 Specific Picture Types: SI and SP 468334de520b0369215b7931fefa424fb92d295f0ebJames Dong * H.264 Specific Picture Types: EI and EP 469334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-4 Specific Picture Types: S 470334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 471334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_PICTURETYPE { 472334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeI = 0x01, 473334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeP = 0x02, 474334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeB = 0x04, 475334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeSI = 0x08, 476334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeSP = 0x10, 477334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeEI = 0x11, 478334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeEP = 0x12, 479334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeS = 0x14, 480334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 481334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 482334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_PictureTypeMax = 0x7FFFFFFF 483334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PICTURETYPE; 484334de520b0369215b7931fefa424fb92d295f0ebJames Dong 485334de520b0369215b7931fefa424fb92d295f0ebJames Dong 486334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 487334de520b0369215b7931fefa424fb92d295f0ebJames Dong * H.263 Params 488334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 489334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 490334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 491334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 492334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 493334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPFrames : Number of P frames between each I frame 494334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBFrames : Number of B frames between each I frame 495334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eProfile : H.263 profile(s) to use 496334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eLevel : H.263 level(s) to use 497334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE 498334de520b0369215b7931fefa424fb92d295f0ebJames Dong * (specified in the 1998 version of H.263) to 499334de520b0369215b7931fefa424fb92d295f0ebJames Dong * indicate custom picture sizes or clock 500334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frequencies 501334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nAllowedPictureTypes : Specifies the picture types allowed in the 502334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bitstream 503334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is 504334de520b0369215b7931fefa424fb92d295f0ebJames Dong * not constrained. It is recommended to change 505334de520b0369215b7931fefa424fb92d295f0ebJames Dong * the value of the RTYPE bit for each reference 506334de520b0369215b7931fefa424fb92d295f0ebJames Dong * picture in error-free communication 507334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPictureHeaderRepetition : Specifies the frequency of picture header 508334de520b0369215b7931fefa424fb92d295f0ebJames Dong * repetition 509334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nGOBHeaderInterval : Specifies the interval of non-empty GOB 510334de520b0369215b7931fefa424fb92d295f0ebJames Dong * headers in units of GOBs 511334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 512334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_H263TYPE { 513334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 514334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 515334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 516334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPFrames; 517334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBFrames; 518334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263PROFILETYPE eProfile; 519334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_H263LEVELTYPE eLevel; 520334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bPLUSPTYPEAllowed; 521334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nAllowedPictureTypes; 522334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bForceRoundingTypeToZero; 523334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPictureHeaderRepetition; 524334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nGOBHeaderInterval; 525334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_H263TYPE; 526334de520b0369215b7931fefa424fb92d295f0ebJames Dong 527334de520b0369215b7931fefa424fb92d295f0ebJames Dong 528334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 529334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-2 profile types, each profile indicates support for various 530334de520b0369215b7931fefa424fb92d295f0ebJames Dong * performance bounds and different annexes. 531334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 532334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_MPEG2PROFILETYPE { 533334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileSimple = 0, /**< Simple Profile */ 534334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileMain, /**< Main Profile */ 535334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2Profile422, /**< 4:2:2 Profile */ 536334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileSNR, /**< SNR Profile */ 537334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileSpatial, /**< Spatial Profile */ 538334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileHigh, /**< High Profile */ 539334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 540334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 541334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF 542334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_MPEG2PROFILETYPE; 543334de520b0369215b7931fefa424fb92d295f0ebJames Dong 544334de520b0369215b7931fefa424fb92d295f0ebJames Dong 545334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 546334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-2 level types, each level indicates support for various frame 547334de520b0369215b7931fefa424fb92d295f0ebJames Dong * sizes, bit rates, decoder frame rates. No need 548334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 549334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_MPEG2LEVELTYPE { 550334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelLL = 0, /**< Low Level */ 551334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelML, /**< Main Level */ 552334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelH14, /**< High 1440 */ 553334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelHL, /**< High Level */ 554334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 555334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 556334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF 557334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_MPEG2LEVELTYPE; 558334de520b0369215b7931fefa424fb92d295f0ebJames Dong 559334de520b0369215b7931fefa424fb92d295f0ebJames Dong 560334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 561334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-2 params 562334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 563334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 564334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 565334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 566334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 567334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPFrames : Number of P frames between each I frame 568334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBFrames : Number of B frames between each I frame 569334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eProfile : MPEG-2 profile(s) to use 570334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eLevel : MPEG-2 levels(s) to use 571334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 572334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_MPEG2TYPE { 573334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 574334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 575334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 576334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPFrames; 577334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBFrames; 578334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2PROFILETYPE eProfile; 579334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG2LEVELTYPE eLevel; 580334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_MPEG2TYPE; 581334de520b0369215b7931fefa424fb92d295f0ebJames Dong 582334de520b0369215b7931fefa424fb92d295f0ebJames Dong 583334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 584334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-4 profile types, each profile indicates support for various 585334de520b0369215b7931fefa424fb92d295f0ebJames Dong * performance bounds and different annexes. 586334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 587334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ENUMS: 588334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Simple Profile, Levels 1-3 589334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Simple Scalable Profile, Levels 1-2 590334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Core Profile, Levels 1-2 591334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Main Profile, Levels 2-4 592334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - N-bit Profile, Level 2 593334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Scalable Texture Profile, Level 1 594334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Simple Face Animation Profile, Levels 1-2 595334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Simple Face and Body Animation (FBA) Profile, Levels 1-2 596334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Basic Animated Texture Profile, Levels 1-2 597334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Hybrid Profile, Levels 1-2 598334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Advanced Real Time Simple Profiles, Levels 1-4 599334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Core Scalable Profile, Levels 1-3 600334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Advanced Coding Efficiency Profile, Levels 1-4 601334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Advanced Core Profile, Levels 1-2 602334de520b0369215b7931fefa424fb92d295f0ebJames Dong * - Advanced Scalable Texture, Levels 2-3 603334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 604334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_MPEG4PROFILETYPE { 605334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileSimple = 0x01, 606334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02, 607334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileCore = 0x04, 608334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileMain = 0x08, 609334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileNbit = 0x10, 610334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20, 611334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40, 612334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80, 613334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100, 614334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileHybrid = 0x200, 615334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400, 616334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800, 617334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000, 618334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000, 619334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileAdvancedScalable = 0x4000, 620334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileAdvancedSimple = 0x8000, 621334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 622334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 623334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF 624334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_MPEG4PROFILETYPE; 625334de520b0369215b7931fefa424fb92d295f0ebJames Dong 626334de520b0369215b7931fefa424fb92d295f0ebJames Dong 627334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 628334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-4 level types, each level indicates support for various frame 629334de520b0369215b7931fefa424fb92d295f0ebJames Dong * sizes, bit rates, decoder frame rates. No need 630334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 631334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_MPEG4LEVELTYPE { 632334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level0 = 0x01, /**< Level 0 */ 633334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level0b = 0x02, /**< Level 0b */ 634334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level1 = 0x04, /**< Level 1 */ 635334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level2 = 0x08, /**< Level 2 */ 636334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level3 = 0x10, /**< Level 3 */ 637334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level4 = 0x20, /**< Level 4 */ 638334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level4a = 0x40, /**< Level 4a */ 639334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4Level5 = 0x80, /**< Level 5 */ 640334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 641334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 642334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF 643334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_MPEG4LEVELTYPE; 644334de520b0369215b7931fefa424fb92d295f0ebJames Dong 645334de520b0369215b7931fefa424fb92d295f0ebJames Dong 646334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 647334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MPEG-4 configuration. This structure handles configuration options 648334de520b0369215b7931fefa424fb92d295f0ebJames Dong * which are specific to MPEG4 algorithms 649334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 650334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 651334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 652334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 653334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 654334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSliceHeaderSpacing : Number of macroblocks between slice header (H263+ 655334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Annex K). Put zero if not used 656334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bSVH : Enable Short Video Header mode 657334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bGov : Flag to enable GOV 658334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPFrames : Number of P frames between each I frame (also called 659334de520b0369215b7931fefa424fb92d295f0ebJames Dong * GOV period) 660334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBFrames : Number of B frames between each I frame 661334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nIDCVLCThreshold : Value of intra DC VLC threshold 662334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bACPred : Flag to use ac prediction 663334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nMaxPacketSize : Maximum size of packet in bytes. 664334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nTimeIncRes : Used to pass VOP time increment resolution for MPEG4. 665334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Interpreted as described in MPEG4 standard. 666334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eProfile : MPEG-4 profile(s) to use. 667334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eLevel : MPEG-4 level(s) to use. 668334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nAllowedPictureTypes : Specifies the picture types allowed in the bitstream 669334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nHeaderExtension : Specifies the number of consecutive video packet 670334de520b0369215b7931fefa424fb92d295f0ebJames Dong * headers within a VOP 671334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bReversibleVLC : Specifies whether reversible variable length coding 672334de520b0369215b7931fefa424fb92d295f0ebJames Dong * is in use 673334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 674334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_MPEG4TYPE { 675334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 676334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 677334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 678334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSliceHeaderSpacing; 679334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bSVH; 680334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bGov; 681334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPFrames; 682334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBFrames; 683334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nIDCVLCThreshold; 684334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bACPred; 685334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nMaxPacketSize; 686334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nTimeIncRes; 687334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4PROFILETYPE eProfile; 688334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_MPEG4LEVELTYPE eLevel; 689334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nAllowedPictureTypes; 690334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nHeaderExtension; 691334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bReversibleVLC; 692334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_MPEG4TYPE; 693334de520b0369215b7931fefa424fb92d295f0ebJames Dong 694334de520b0369215b7931fefa424fb92d295f0ebJames Dong 695334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 696334de520b0369215b7931fefa424fb92d295f0ebJames Dong * WMV Versions 697334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 698334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_WMVFORMATTYPE { 699334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMVFormatUnused = 0x01, /**< Format unused or unknown */ 700334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMVFormat7 = 0x02, /**< Windows Media Video format 7 */ 701334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMVFormat8 = 0x04, /**< Windows Media Video format 8 */ 702334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMVFormat9 = 0x08, /**< Windows Media Video format 9 */ 703334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 704334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMFFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 705334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMVFormatMax = 0x7FFFFFFF 706334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_WMVFORMATTYPE; 707334de520b0369215b7931fefa424fb92d295f0ebJames Dong 708334de520b0369215b7931fefa424fb92d295f0ebJames Dong 709334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 710334de520b0369215b7931fefa424fb92d295f0ebJames Dong * WMV Params 711334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 712334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 713334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 714334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 715334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 716334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eFormat : Version of WMV stream / data 717334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 718334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_WMVTYPE { 719334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 720334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 721334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 722334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_WMVFORMATTYPE eFormat; 723334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_WMVTYPE; 724334de520b0369215b7931fefa424fb92d295f0ebJames Dong 725334de520b0369215b7931fefa424fb92d295f0ebJames Dong 726334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 727334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Real Video Version 728334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 729334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_RVFORMATTYPE { 730334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormatUnused = 0, /**< Format unused or unknown */ 731334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormat8, /**< Real Video format 8 */ 732334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormat9, /**< Real Video format 9 */ 733334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormatG2, /**< Real Video Format G2 */ 734334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 735334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 736334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFormatMax = 0x7FFFFFFF 737334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_RVFORMATTYPE; 738334de520b0369215b7931fefa424fb92d295f0ebJames Dong 739334de520b0369215b7931fefa424fb92d295f0ebJames Dong 740334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 741334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Real Video Params 742334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 743334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STUCT MEMBERS: 744334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 745334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 746334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 747334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eFormat : Version of RV stream / data 748334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBitsPerPixel : Bits per pixel coded in the frame 749334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPaddedWidth : Padded width in pixel of a video frame 750334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPaddedHeight : Padded Height in pixels of a video frame 751334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nFrameRate : Rate of video in frames per second 752334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBitstreamFlags : Flags which internal information about the bitstream 753334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBitstreamVersion : Bitstream version 754334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nMaxEncodeFrameSize: Max encoded frame size 755334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnablePostFilter : Turn on/off post filter 756334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableTemporalInterpolation : Turn on/off temporal interpolation 757334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableLatencyMode : When enabled, the decoder does not display a decoded 758334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frame until it has detected that no enhancement layer 759334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frames or dependent B frames will be coming. This 760334de520b0369215b7931fefa424fb92d295f0ebJames Dong * detection usually occurs when a subsequent non-B 761334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frame is encountered 762334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 763334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_RVTYPE { 764334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 765334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 766334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 767334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_RVFORMATTYPE eFormat; 768334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U16 nBitsPerPixel; 769334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U16 nPaddedWidth; 770334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U16 nPaddedHeight; 771334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nFrameRate; 772334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBitstreamFlags; 773334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBitstreamVersion; 774334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nMaxEncodeFrameSize; 775334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnablePostFilter; 776334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableTemporalInterpolation; 777334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableLatencyMode; 778334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_RVTYPE; 779334de520b0369215b7931fefa424fb92d295f0ebJames Dong 780334de520b0369215b7931fefa424fb92d295f0ebJames Dong 781334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 782334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC profile types, each profile indicates support for various 783334de520b0369215b7931fefa424fb92d295f0ebJames Dong * performance bounds and different annexes. 784334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 785334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_AVCPROFILETYPE { 786334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileBaseline = 0x01, /**< Baseline profile */ 787334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileMain = 0x02, /**< Main profile */ 788334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileExtended = 0x04, /**< Extended profile */ 789334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileHigh = 0x08, /**< High profile */ 790334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileHigh10 = 0x10, /**< High 10 profile */ 791334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileHigh422 = 0x20, /**< High 4:2:2 profile */ 792334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileHigh444 = 0x40, /**< High 4:4:4 profile */ 793334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 794334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 795334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF 796334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_AVCPROFILETYPE; 797334de520b0369215b7931fefa424fb92d295f0ebJames Dong 798334de520b0369215b7931fefa424fb92d295f0ebJames Dong 799334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 800334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC level types, each level indicates support for various frame sizes, 801334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bit rates, decoder frame rates. No need 802334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 803334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_AVCLEVELTYPE { 804334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel1 = 0x01, /**< Level 1 */ 805334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel1b = 0x02, /**< Level 1b */ 806334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel11 = 0x04, /**< Level 1.1 */ 807334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel12 = 0x08, /**< Level 1.2 */ 808334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel13 = 0x10, /**< Level 1.3 */ 809334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel2 = 0x20, /**< Level 2 */ 810334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel21 = 0x40, /**< Level 2.1 */ 811334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel22 = 0x80, /**< Level 2.2 */ 812334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel3 = 0x100, /**< Level 3 */ 813334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel31 = 0x200, /**< Level 3.1 */ 814334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel32 = 0x400, /**< Level 3.2 */ 815334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel4 = 0x800, /**< Level 4 */ 816334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel41 = 0x1000, /**< Level 4.1 */ 817334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel42 = 0x2000, /**< Level 4.2 */ 818334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel5 = 0x4000, /**< Level 5 */ 819334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevel51 = 0x8000, /**< Level 5.1 */ 820334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 821334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 822334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF 823334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_AVCLEVELTYPE; 824334de520b0369215b7931fefa424fb92d295f0ebJames Dong 825334de520b0369215b7931fefa424fb92d295f0ebJames Dong 826334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 827334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC loop filter modes 828334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 829334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OMX_VIDEO_AVCLoopFilterEnable : Enable 830334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OMX_VIDEO_AVCLoopFilterDisable : Disable 831334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OMX_VIDEO_AVCLoopFilterDisableSliceBoundary : Disabled on slice boundaries 832334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 833334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_AVCLOOPFILTERTYPE { 834334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLoopFilterEnable = 0, 835334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLoopFilterDisable, 836334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLoopFilterDisableSliceBoundary, 837334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 838334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLoopFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 839334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLoopFilterMax = 0x7FFFFFFF 840334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_AVCLOOPFILTERTYPE; 841334de520b0369215b7931fefa424fb92d295f0ebJames Dong 842334de520b0369215b7931fefa424fb92d295f0ebJames Dong 843334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 844334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC params 845334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 846334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 847334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 848334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 849334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 850334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSliceHeaderSpacing : Number of macroblocks between slice header, put 851334de520b0369215b7931fefa424fb92d295f0ebJames Dong * zero if not used 852334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPFrames : Number of P frames between each I frame 853334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nBFrames : Number of B frames between each I frame 854334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bUseHadamard : Enable/disable Hadamard transform 855334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nRefFrames : Max number of reference frames to use for inter 856334de520b0369215b7931fefa424fb92d295f0ebJames Dong * motion search (1-16) 857334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nRefIdxTrailing : Pic param set ref frame index (index into ref 858334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frame buffer of trailing frames list), B frame 859334de520b0369215b7931fefa424fb92d295f0ebJames Dong * support 860334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nRefIdxForward : Pic param set ref frame index (index into ref 861334de520b0369215b7931fefa424fb92d295f0ebJames Dong * frame buffer of forward frames list), B frame 862334de520b0369215b7931fefa424fb92d295f0ebJames Dong * support 863334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableUEP : Enable/disable unequal error protection. This 864334de520b0369215b7931fefa424fb92d295f0ebJames Dong * is only valid of data partitioning is enabled. 865334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableFMO : Enable/disable flexible macroblock ordering 866334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableASO : Enable/disable arbitrary slice ordering 867334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEnableRS : Enable/disable sending of redundant slices 868334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eProfile : AVC profile(s) to use 869334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eLevel : AVC level(s) to use 870334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nAllowedPictureTypes : Specifies the picture types allowed in the 871334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bitstream 872334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bFrameMBsOnly : specifies that every coded picture of the 873334de520b0369215b7931fefa424fb92d295f0ebJames Dong * coded video sequence is a coded frame 874334de520b0369215b7931fefa424fb92d295f0ebJames Dong * containing only frame macroblocks 875334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bMBAFF : Enable/disable switching between frame and 876334de520b0369215b7931fefa424fb92d295f0ebJames Dong * field macroblocks within a picture 877334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bEntropyCodingCABAC : Entropy decoding method to be applied for the 878334de520b0369215b7931fefa424fb92d295f0ebJames Dong * syntax elements for which two descriptors appear 879334de520b0369215b7931fefa424fb92d295f0ebJames Dong * in the syntax tables 880334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bWeightedPPrediction : Enable/disable weighted prediction shall not 881334de520b0369215b7931fefa424fb92d295f0ebJames Dong * be applied to P and SP slices 882334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nWeightedBipredicitonMode : Default weighted prediction is applied to B 883334de520b0369215b7931fefa424fb92d295f0ebJames Dong * slices 884334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bconstIpred : Enable/disable intra prediction 885334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bDirect8x8Inference : Specifies the method used in the derivation 886334de520b0369215b7931fefa424fb92d295f0ebJames Dong * process for luma motion vectors for B_Skip, 887334de520b0369215b7931fefa424fb92d295f0ebJames Dong * B_Direct_16x16 and B_Direct_8x8 as specified 888334de520b0369215b7931fefa424fb92d295f0ebJames Dong * in subclause 8.4.1.2 of the AVC spec 889334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bDirectSpatialTemporal : Flag indicating spatial or temporal direct 890334de520b0369215b7931fefa424fb92d295f0ebJames Dong * mode used in B slice coding (related to 891334de520b0369215b7931fefa424fb92d295f0ebJames Dong * bDirect8x8Inference) . Spatial direct mode is 892334de520b0369215b7931fefa424fb92d295f0ebJames Dong * more common and should be the default. 893334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nCabacInitIdx : Index used to init CABAC contexts 894334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eLoopFilterMode : Enable/disable loop filter 895334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 896334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_AVCTYPE { 897334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 898334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 899334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 900334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSliceHeaderSpacing; 901334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPFrames; 902334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nBFrames; 903334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bUseHadamard; 904334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nRefFrames; 905334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nRefIdx10ActiveMinus1; 906334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nRefIdx11ActiveMinus1; 907334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableUEP; 908334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableFMO; 909334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableASO; 910334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnableRS; 911334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCPROFILETYPE eProfile; 912334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLEVELTYPE eLevel; 913334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nAllowedPictureTypes; 914334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bFrameMBsOnly; 915334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bMBAFF; 916334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEntropyCodingCABAC; 917334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bWeightedPPrediction; 918334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nWeightedBipredicitonMode; 919334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bconstIpred ; 920334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bDirect8x8Inference; 921334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bDirectSpatialTemporal; 922334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nCabacInitIdc; 923334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode; 924334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_AVCTYPE; 925334de520b0369215b7931fefa424fb92d295f0ebJames Dong 926334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE { 927334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 928334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 929334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 930334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 eProfile; /**< type is OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE, 931334de520b0369215b7931fefa424fb92d295f0ebJames Dong or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ 932334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 eLevel; /**< type is OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE, 933334de520b0369215b7931fefa424fb92d295f0ebJames Dong or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ 934334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nProfileIndex; /**< Used to query for individual profile support information, 935334de520b0369215b7931fefa424fb92d295f0ebJames Dong This parameter is valid only for 936334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_IndexParamVideoProfileLevelQuerySupported index, 937334de520b0369215b7931fefa424fb92d295f0ebJames Dong For all other indices this parameter is to be ignored. */ 938334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_PROFILELEVELTYPE; 939334de520b0369215b7931fefa424fb92d295f0ebJames Dong 940334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 941334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure for dynamically configuring bitrate mode of a codec. 942334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 943334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 944334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the struct in bytes 945334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX spec version info 946334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this struct applies to 947334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nEncodeBitrate : Target average bitrate to be generated in bps 948334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 949334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_CONFIG_BITRATETYPE { 950334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 951334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 952334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 953334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nEncodeBitrate; 954334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_CONFIG_BITRATETYPE; 955334de520b0369215b7931fefa424fb92d295f0ebJames Dong 956334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 957334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines Encoder Frame Rate setting 958334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 959334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 960334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 961334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 962334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 963334de520b0369215b7931fefa424fb92d295f0ebJames Dong * xEncodeFramerate : Encoding framerate represented in Q16 format 964334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 965334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_FRAMERATETYPE { 966334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 967334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 968334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 969334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 xEncodeFramerate; /* Q16 format */ 970334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_FRAMERATETYPE; 971334de520b0369215b7931fefa424fb92d295f0ebJames Dong 972334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_INTRAREFRESHVOPTYPE { 973334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 974334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 975334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 976334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL IntraRefreshVOP; 977334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_INTRAREFRESHVOPTYPE; 978334de520b0369215b7931fefa424fb92d295f0ebJames Dong 979334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPE { 980334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 981334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 982334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 983334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nErrMapSize; /* Size of the Error Map in bytes */ 984334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U8 ErrMap[1]; /* Error map hint */ 985334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_MACROBLOCKERRORMAPTYPE; 986334de520b0369215b7931fefa424fb92d295f0ebJames Dong 987334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_MBERRORREPORTINGTYPE { 988334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 989334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 990334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 991334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_BOOL bEnabled; 992334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_MBERRORREPORTINGTYPE; 993334de520b0369215b7931fefa424fb92d295f0ebJames Dong 994334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_PARAM_MACROBLOCKSTYPE { 995334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 996334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 997334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 998334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nMacroblocks; 999334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_PARAM_MACROBLOCKSTYPE; 1000334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1001334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 1002334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC Slice Mode modes 1003334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 1004334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OMX_VIDEO_SLICEMODE_AVCDefault : Normal frame encoding, one slice per frame 1005334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OMX_VIDEO_SLICEMODE_AVCMBSlice : NAL mode, number of MBs per frame 1006334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OMX_VIDEO_SLICEMODE_AVCByteSlice : NAL mode, number of bytes per frame 1007334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 1008334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_VIDEO_AVCSLICEMODETYPE { 1009334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_SLICEMODE_AVCDefault = 0, 1010334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_SLICEMODE_AVCMBSlice, 1011334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_SLICEMODE_AVCByteSlice, 1012334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 1013334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_SLICEMODE_AVCVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 1014334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_SLICEMODE_AVCLevelMax = 0x7FFFFFFF 1015334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_AVCSLICEMODETYPE; 1016334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1017334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 1018334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC FMO Slice Mode Params 1019334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 1020334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 1021334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 1022334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 1023334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 1024334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nNumSliceGroups : Specifies the number of slice groups 1025334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSliceGroupMapType : Specifies the type of slice groups 1026334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eSliceMode : Specifies the type of slice 1027334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 1028334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_PARAM_AVCSLICEFMO { 1029334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 1030334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 1031334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 1032334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U8 nNumSliceGroups; 1033334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U8 nSliceGroupMapType; 1034334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; 1035334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_PARAM_AVCSLICEFMO; 1036334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1037334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 1038334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC IDR Period Configs 1039334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 1040334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 1041334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 1042334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 1043334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 1044334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nIDRPeriod : Specifies periodicity of IDR frames 1045334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPFrames : Specifies internal of coding Intra frames 1046334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 1047334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD { 1048334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 1049334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 1050334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 1051334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nIDRPeriod; 1052334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPFrames; 1053334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_CONFIG_AVCINTRAPERIOD; 1054334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1055334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** 1056334de520b0369215b7931fefa424fb92d295f0ebJames Dong * AVC NAL Size Configs 1057334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 1058334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS: 1059334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize : Size of the structure in bytes 1060334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion : OMX specification version information 1061334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to 1062334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nNaluBytes : Specifies the NAL unit size 1063334de520b0369215b7931fefa424fb92d295f0ebJames Dong */ 1064334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_VIDEO_CONFIG_NALSIZE { 1065334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nSize; 1066334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_VERSIONTYPE nVersion; 1067334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nPortIndex; 1068334de520b0369215b7931fefa424fb92d295f0ebJames Dong OMX_U32 nNaluBytes; 1069334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_VIDEO_CONFIG_NALSIZE; 1070334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1071334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** @} */ 1072334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1073334de520b0369215b7931fefa424fb92d295f0ebJames Dong#ifdef __cplusplus 1074334de520b0369215b7931fefa424fb92d295f0ebJames Dong} 1075334de520b0369215b7931fefa424fb92d295f0ebJames Dong#endif /* __cplusplus */ 1076334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1077334de520b0369215b7931fefa424fb92d295f0ebJames Dong#endif 1078334de520b0369215b7931fefa424fb92d295f0ebJames Dong/* File EOF */ 1079334de520b0369215b7931fefa424fb92d295f0ebJames Dong 1080