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