1dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*-------------------------------------------------------------------------- 2e4010605f233a213cf0d972397bb33c34c364227Patrick TjinCopyright (c) 2011,2015 The Linux Foundation. All rights reserved. 3dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 4dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandRedistribution and use in source and binary forms, with or without 5dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandmodification, are permitted provided that the following conditions are met: 6dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Redistributions of source code must retain the above copyright 7dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand notice, this list of conditions and the following disclaimer. 8dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Redistributions in binary form must reproduce the above copyright 9dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand notice, this list of conditions and the following disclaimer in the 10dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand documentation and/or other materials provided with the distribution. 1161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan * Neither the name of The Linux Foundation nor 12dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand the names of its contributors may be used to endorse or promote 13dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand products derived from this software without specific prior written 14dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand permission. 15dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 16dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandNON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 23dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 25dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 26dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand--------------------------------------------------------------------------*/ 28dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 29dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifndef __H_QOMX_VIDEOEXTENSIONS_H__ 30e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin#define __H_QOMX_VIDEOEXTENSIONS_H__ 31dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 32dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*======================================================================== 33dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 34e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin*//** @file QOMX_VideoExtensions.h 35dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 36dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand@par FILE SERVICES: 37dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand Qualcomm extensions API for OpenMax IL Video. 38dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 39dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand This file contains the description of the Qualcomm OpenMax IL 40e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin video extention interface, through which the IL client and OpenMax 41dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand components can access additional video capabilities. 42e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin 43dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand*//*====================================================================== */ 44dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 45dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 46dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*========================================================================== */ 47e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin 48e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/*======================================================================== 49e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin 50e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin INCLUDE FILES FOR MODULE 51e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin 52e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin========================================================================== */ 53dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Core.h> 54dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Video.h> 55dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 56dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*======================================================================== 57dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 58dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand DEFINITIONS AND DECLARATIONS 59dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 60dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */ 61dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 62dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus ) 63dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandextern "C" 64dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 65dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */ 66dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 67e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/* Video extension strings */ 68dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_SYNTAXHDR "OMX.QCOM.index.param.video.SyntaxHdr" 69dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_ENCODERMODE "OMX.QCOM.index.param.video.EncoderMode" 70dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_VIDEO_INTRAREFRESH "OMX.QCOM.index.config.video.IntraRefresh" 71dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_VIDEO_INTRAPERIOD "OMX.QCOM.index.config.video.IntraPeriod" 72dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_VIDEO_TEMPORALSPATIALTRADEOFF "OMX.QCOM.index.config.video.TemporalSpatialTradeOff" 73dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_VIDEO_MBCONCEALMENTREPORTING "OMX.QCOM.index.config.video.MBConcealmentReporting" 74dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_EXTRADATAMULTISLICEINFO "OMX.QCOM.index.param.video.ExtraDataMultiSliceInfo" /**< reference: QOMX_ENABLETYPE */ 75e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin#define OMX_QCOM_INDEX_CONFIG_VIDEO_FLOWSTATUS "OMX.QCOM.index.config.video.FlowStatus" /**< reference: QOMX_FLOWSTATUSTYPE */ 76dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_PICTURETYPEDECODE "OMX.QCOM.index.param.video.PictureTypeDecode" /**< reference: QOMX_VIDEO_DECODEPICTURETYPE */ 77dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_SAMPLEASPECTRATIO "OMX.QCOM.index.param.video.SampleAspectRatio" /**< reference: QOMX_VIDEO_SAMPLEASPECTRATIO */ 7861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_VIDEO_EXTRADATALTRINFO "OMX.QCOM.index.param.video.ExtraDataLTRInfo" /**< reference: QOMX_ENABLETYPE */ 79dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 80dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* Video coding types */ 81dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_DIVX "OMX.QCOM.index.param.video.DivX" 82dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_VP "OMX.QCOM.index.param.video.VP" 83dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_SPARK "OMX.QCOM.index.param.video.Spark" 84dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VIDEO_VC1 "OMX.QCOM.index.param.video.VC1" 85dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 86dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 87dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration used to define the extended video compression 88dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * codings, not present in the OpenMax IL 1.1.2 specification. 89dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * NOTE: This essentially refers to file extensions. If the 90dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * coding is being used to specify the ENCODE type, then 91dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * additional work must be done to configure the exact 92dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * flavor of the compression to be used. 93dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 94e4010605f233a213cf0d972397bb33c34c364227Patrick Tjintypedef enum QOMX_VIDEO_CODINGTYPE 95dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 96dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_CodingDivX = 0x7F000001, /**< all versions of DivX */ 97dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_CodingVP = 0x7F000002, /**< all versions of On2 VP codec */ 98dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_CodingSpark = 0x7F000003, /**< Sorenson Spark */ 99dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_CodingVC1 = 0x7F000004, /**< VC-1 */ 100dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_MPEG1 = 0x7F000005 /**< MPEG-1 */ 101dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_CODINGTYPE; 102dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 103e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 104dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX Versions 105dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 106dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_DIVXFORMATTYPE { 107dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormatUnused = 0x01, /**< Format unused or unknown */ 108dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormat311 = 0x02, /**< DivX 3.11 */ 109dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormat4 = 0x04, /**< DivX 4 */ 110dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormat5 = 0x08, /**< DivX 5 */ 111dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormat6 = 0x10, /**< DivX 6 */ 112e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_DIVXFormatKhronosExtensions = 0x6F000000, 113dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormatVendorStartUnused = 0x7F000000, 114dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFormatMax = 0x7FFFFFFF 115dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_DIVXFORMATTYPE; 116dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 117e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 118dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX profile types, each profile indicates support for 119dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * various performance bounds. 120dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 121dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_DIVXPROFILETYPE { 122dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DivXProfileqMobile = 0x01, /**< qMobile Profile */ 123dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DivXProfileMobile = 0x02, /**< Mobile Profile */ 124dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DivXProfileMT = 0x04, /**< Mobile Theatre Profile */ 125dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DivXProfileHT = 0x08, /**< Home Theatre Profile */ 126dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DivXProfileHD = 0x10, /**< High Definition Profile */ 127e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_DIVXProfileKhronosExtensions = 0x6F000000, 128dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXProfileVendorStartUnused = 0x7F000000, 129dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXProfileMax = 0x7FFFFFFF 130dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_DIVXPROFILETYPE; 131dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 132e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 133dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX Video Params 134e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 135dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 136dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 137dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 138dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 139dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eFormat : Version of DivX stream / data 140dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eProfile : Profile of DivX stream / data 141dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 142dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_PARAM_DIVXTYPE { 143e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin OMX_U32 nSize; 144dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 145dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 146dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXFORMATTYPE eFormat; 147dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_DIVXPROFILETYPE eProfile; 148dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_PARAM_DIVXTYPE; 149dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 150e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 151dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VP Versions 152dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 153dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_VPFORMATTYPE { 154dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFormatUnused = 0x01, /**< Format unused or unknown */ 155dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFormat6 = 0x02, /**< VP6 Video Format */ 156dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFormat7 = 0x04, /**< VP7 Video Format */ 157dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFormat8 = 0x08, /**< VP8 Video Format */ 158e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_VPFormat9 = 0x10, /**< VP9 Video Format */ 159e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_VPFormatKhronosExtensions = 0x6F000000, 160dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFormatVendorStartUnused = 0x7F000000, 161dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFormatMax = 0x7FFFFFFF 162dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_VPFORMATTYPE; 163dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 164e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 165dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VP profile types, each profile indicates support for various 166dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * encoding tools. 167dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 168dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_VPPROFILETYPE { 169dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileSimple = 0x01, /**< Simple Profile, applies to VP6 only */ 170dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileAdvanced = 0x02, /**< Advanced Profile, applies to VP6 only */ 171dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileVersion0 = 0x04, /**< Version 0, applies to VP7 and VP8 */ 172dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileVersion1 = 0x08, /**< Version 1, applies to VP7 and VP8 */ 173dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileVersion2 = 0x10, /**< Version 2, applies to VP8 only */ 174dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileVersion3 = 0x20, /**< Version 3, applies to VP8 only */ 175e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_VPProfileKhronosExtensions = 0x6F000000, 176dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileVendorStartUnused = 0x7F000000, 177dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPProfileMax = 0x7FFFFFFF 178dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_VPPROFILETYPE; 179dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 180e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 181dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VP Video Params 182e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 183dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 184dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 185dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 186dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 187dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eFormat : Format of VP stream / data 188dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eProfile : Profile or Version of VP stream / data 189e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin */ 190dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_PARAM_VPTYPE { 191e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin OMX_U32 nSize; 192dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 193dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 194dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPFORMATTYPE eFormat; 195dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VPPROFILETYPE eProfile; 196dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_PARAM_VPTYPE; 197dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 198e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 199dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Spark Versions 200dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 201dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_SPARKFORMATTYPE { 202dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_SparkFormatUnused = 0x01, /**< Format unused or unknown */ 203dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_SparkFormat0 = 0x02, /**< Video Format Version 0 */ 204dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_SparkFormat1 = 0x04, /**< Video Format Version 1 */ 205e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_SparkFormatKhronosExtensions = 0x6F000000, 206dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_SparkFormatVendorStartUnused = 0x7F000000, 207dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_SparkFormatMax = 0x7FFFFFFF 208dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_SPARKFORMATTYPE; 209dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 210e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 211dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Spark Video Params 212e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 213dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 214dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 215dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 216dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 217dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eFormat : Version of Spark stream / data 218dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 219dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_PARAM_SPARKTYPE { 220e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin OMX_U32 nSize; 221dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 222dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 223dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_SPARKFORMATTYPE eFormat; 224dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_PARAM_SPARKTYPE; 225dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 226e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 227dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VC-1 profile types, each profile indicates support for 228dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * various encoding tools. 229dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 230dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_VC1PROFILETYPE { 231dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1ProfileSimple = 0x01, /**< Simple Profile */ 232dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1ProfileMain = 0x02, /**< Main Profile */ 233dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1ProfileAdvanced = 0x04, /**< Advanced Profile */ 234e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_VC1ProfileKhronosExtensions = 0x6F000000, 235dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1ProfileVendorStartUnused = 0x7F000000, 236dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1ProfileMax = 0x7FFFFFFF 237dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_VC1PROFILETYPE; 238dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 239e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 240dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VC-1 level types, each level indicates support for various 241dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * performance bounds. 242dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 243dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_VC1LEVELTYPE { 244dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1LevelLow = 0x01, /**< Low Level, applies to simple and main profiles*/ 245dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1LevelMedium = 0x02, /**< Medium Level, applies to simple and main profiles */ 246dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1LevelHigh = 0x04, /**< High Level, applies to main profile only */ 247dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1Level0 = 0x08, /**< Level 0, applies to advanced profile only */ 248dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1Level1 = 0x10, /**< Level 1, applies to advanced profile only */ 249dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1Level2 = 0x20, /**< Level 2, applies to advanced profile only */ 250dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1Level3 = 0x40, /**< Level 3, applies to advanced profile only */ 251dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1Level4 = 0x80, /**< Level 4, applies to advanced profile only */ 252e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_VC1LevelKhronosExtensions = 0x6F000000, 253dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1LevelVendorStartUnused = 0x7F000000, 254dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1LevelMax = 0x7FFFFFFF 255dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_VC1LEVELTYPE; 256dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 257e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 258dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VC-1 Video Params 259e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 260dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 261dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 262dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 263dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 264dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eProfile : Profile of VC-1 stream / data 265dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eLevel : Level of VC-1 stream / data 266dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 267dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_PARAM_VC1TYPE { 268e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin OMX_U32 nSize; 269dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 270dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 271dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1PROFILETYPE eProfile; 272dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_VC1LEVELTYPE eLevel; 273dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_PARAM_VC1TYPE; 274dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 275e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 276dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Extended MPEG-4 level types not defined in the OpenMax IL 277dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 1.1.2 specification, each level indicates support for various 278dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * frame sizes, bit rates, decoder frame rates. 279dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 280dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_MPEG4LEVELTYPE { 281e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_MPEG4Level6 = 0x7F000001, /**< Level 6 */ 282e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_MPEG4Level7 = 0x7F000002, /**< Level 7 */ 283e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_MPEG4Level8 = 0x7F000003, /**< Level 8 */ 284e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_MPEG4Level9 = 0x7F000004, /**< Level 9 */ 285e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin QOMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF 286dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_MPEG4LEVELTYPE; 287dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 288dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 289dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This structure is used in retrieving the syntax header from a 290dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * video encoder component, or setting the out of band syntax 291dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * header configuration data on a video decoder component. 292e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 293dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 294dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 295dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 296dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 297dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nBytes : When used with OMX_GetParameter for the encoder 298dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * component, it is a read-write field. When 299dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_VIDEO_SYNTAXHDRTYPE is passed in 300dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_GetParameter this is the size of the buffer 301dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * array pointed by data field. When the 302dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_GetParameter call returns this is the 303dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * amount of data within the buffer array. 304dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 305dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The IL client needs to allocate the buffer 306dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * array and then request for the syntax header. 307dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * If the size of buffer array to allocate is 308dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * unknown to the IL client, then it can call 309dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_GetParamter with nBytes set to 0. In this 310dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * case, when OMX_GetParameter returns, the nBytes 311dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * field will be set to the size of the syntax 312dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * header. IL Client can then allocate a buffer of 313dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * this size and call OMX_GetParamter again. 314e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 315dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * When used with OMX_SetParameter for the decoder 316dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * component, it is a read-only field specifying 317dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * the amount of data in the buffer array. 318dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * data : The syntax header data. The format of the 319dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * syntax header is specific to the video codec, 320dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * and is described below. 321dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 322dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * H.263 : N/A 323dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * H.264 : The SPS and PPS parameter sets 324dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * MPEG-4 : The VO, VOS, and VOL header 325dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * WMV7 : The "Extra Data" info, in the ASF Stream 326dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Properties Object. 327dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * WMV8 : The "Extra Data" info, in the ASF Stream 328dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Properties Object. 329dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * WMV9 SP/MP : The STRUCT_C portion of the sequence layer 330dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * meta data, defined in Table 263 of the VC-1 331dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * specification. 332dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VC-1 SP/MP : The STRUCT_C portion of the sequence layer 333dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * meta data, defined in Table 263 of the VC-1 334dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * specification. 335dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VC-1 AP : The sequence and entry point header 336dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX 3 : N/A 337dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX 4.x : The VO, VOS, and VOL header 338dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX 5.x : The VO, VOS, and VOL header 339dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DivX 6.x : The VO, VOS, and VOL header 340dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VP6 : N/A 341dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Spark : N/A 342dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 343dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_SYNTAXHDRTYPE { 344dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 345dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 346dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 347dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nBytes; 348dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U8 data[1]; 349dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_SYNTAXHDRTYPE; 350dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 351dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 352e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 353e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * Enumeration used to define the extended video intra refresh types, not 354e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * present in the OpenMax IL 1.1.2 specification. 355dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 356dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 357dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * IntraRefreshRandom : Random intra refresh mode. 358dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 359dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_INTRAREFRESHTYPE 360dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 361dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_IntraRefreshRandom = 0x7F100000 362dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_INTRAREFRESHTYPE; 363dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 364dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 365dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 366dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This structure is used to configure the intra periodicity for encoder. 367e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 368dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 369dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 370dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 371dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 372dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nIDRPeriod : Defines the periodicity of IDR occurrence. This specifies 373dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * coding a frame as IDR after a specific number of intra 374dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * frames. The periodicity of intra frame coding is specified by 375dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * the nPFrames. If nIDRPeriod is set to 0, only the first 376dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * frame of the encode session is an IDR frame. This field is 377dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ignored for non-AVC codecs and is used only for codecs that 378dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * support IDR Period. 379dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPFrames : Specifies the number of P frames between each I Frame. 380dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nBFrames : Specifies the number of B frames between each I Frame. 381dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 382dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_INTRAPERIODTYPE { 383dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 384dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 385dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 386dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nIDRPeriod; 387dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPFrames; 388dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nBFrames; 389dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_INTRAPERIODTYPE; 390dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 391dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 392dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 393e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * Enumeration used to define the extended video extra data payload types not 394e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * present in the OpenMax IL 1.1.2 specification. 395dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 396dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 397dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VideoMultiSliceInfo : Multi slice layout information 398e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 399dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Slice information layout: 400dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * First 4 bytes = Number of Slice Entries 401dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 402dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Then individual slice entries: 8 bytes per entry. 403dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Slice1 information: offset (4 bytes), Length (4 bytes) 404dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Slice2 information: offset (4 bytes), Length (4 bytes) 405dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Slice3 information: offset (4 bytes), Length (4 bytes) 406dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ................................... 407dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ................................... 408dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * SliceN information: offset (4 bytes), Length (4 bytes) 409e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 410e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 411dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * VideoNumConcealedMB : Number of concealed MBs 412e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 413dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The data array consists of an unsigned 32-bit size field 414dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * indicating the number of concealed macroblocks in the 415dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * uncompressed frame. 416dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 417dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 418e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * QOMX_ExtraDataOMXIndex : Indicates that the data payload contains an 419dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OpenMax index and associated payload. 420dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 421e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * The data of the extra data payload shall contain the value of the 422e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * OMX_INDEXTYPE corresponding to the requested operation as an unsigned 423e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 32 bit number occupying the first four bytes of the payload. The index 424dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * will be immediately followed by the associated structure. Padding bytes 425e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * are appended to ensure 32 bit address alignment if needed. 426dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 427dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_EXTRADATATYPE 428dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 429dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_ExtraDataVideoMultiSliceInfo = 0x7F100000, 430dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_ExtraDataVideoNumConcealedMB, 431dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_ExtraDataOMXIndex, 432dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_ExtraDataHDCPEncryptionInfo 433dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_EXTRADATATYPE; 434dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 435dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 436e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 437e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * Enumeration used to define the video encoder modes 438dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 439dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 440dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * EncoderModeDefault : Default video recording mode. 441dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * All encoder settings made through 442dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_SetParameter/OMX_SetConfig are applied. No 443dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * parameter is overridden. 444dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * EncoderModeMMS : Video recording mode for MMS (Multimedia Messaging 445dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Service). This mode is similar to EncoderModeDefault 446dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * except that here the Rate control mode is overridden 447dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * internally and set as a variant of variable bitrate with 448dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * variable frame rate. After this mode is set if the IL 449dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * client tries to set OMX_VIDEO_CONTROLRATETYPE via 450dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_IndexParamVideoBitrate that would be rejected. For 451dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * this, client should set mode back to EncoderModeDefault 452dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * first and then change OMX_VIDEO_CONTROLRATETYPE. 453dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 454dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_ENCODERMODETYPE 455dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 456dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_EncoderModeDefault = 0x01, 457dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_EncoderModeMMS = 0x02, 458dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_EncoderModeMax = 0x7FFFFFFF 459dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_ENCODERMODETYPE; 460dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 461dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 462e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * This structure is used to set the video encoder mode. 463e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 464dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 465dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 466dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 467dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 468dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMode : defines the video encoder mode 469dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 470dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_PARAM_ENCODERMODETYPE { 471dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 472dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 473dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 474dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_ENCODERMODETYPE nMode; 475dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_PARAM_ENCODERMODETYPE; 476dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 477dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 478dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 479e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * This structure is used to set the temporal (picture rate) - spatial 480e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * (picture quality) trade-off factor. 481e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * This setting is only valid when rate control is enabled and set to a mode 482dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * with variable frame rate. For all other rate control modes this setting is 483e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * ignored. 484e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 485dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 486dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 487dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 488dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 489dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nTSFactor : temporal-spatial tradeoff factor value in the range of 0-100. 490dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * A factor of 0 won't emphasizes picture rate in rate 491dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * control decisions at all i.e only picture quality is emphasized. For 492dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * increasing values from 1 to 99 the emphasis of picture rate in rate 493dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * control decisions increases. A factor of 100 emphasizes only picture rate 494dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * in rate control decisions. 495dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 496dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_TEMPORALSPATIALTYPE { 497dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 498dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 499dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 500dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nTSFactor; 501dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_TEMPORALSPATIALTYPE; 502dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 503dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 504e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * This structure is used to enable or disable the MB concealmenet reporting 505dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * for the uncompressed frames emitted from the port. 506e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 507dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 508dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 509dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 510dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 511dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bEnableMBConcealmentReporting : Flag indicating whether MB concealment 512dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * reporting is enabled or disabled. 513dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_TRUE: Enables MB concealment reporting 514dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_FALSE: Disables MB concealment reporting 515dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 516dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_MBCONCEALMENTREPORTINGTYPE { 517dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 518dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 519dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 520dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bEnableMBConcealmentReporting; 521dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_MBCONCEALMENTREPORTINGTYPE; 522dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 523e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin/** 524dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Specifies the extended picture types. These values should be 525dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OR'd along with the types defined in OMX_VIDEO_PICTURETYPE to 526dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * signal all pictures types which are allowed. 527dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 528dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 529dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * H.264 Specific Picture Types: IDR 530dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 531dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_VIDEO_PICTURETYPE { 532dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_VIDEO_PictureTypeIDR = OMX_VIDEO_PictureTypeVendorStartUnused + 0x1000 533dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_PICTURETYPE; 534dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 535dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 536dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This structure is used to configure the processing of 537dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * specific picture types. 538e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 539dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 540dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 541dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 542dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 543dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPictureTypes : Specifies the picture type(s) 544dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * that shall be processed. The value consists 545dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * of the desired picture types, defined by the 546dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OMX_VIDEO_PICTURETYPE and 547dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_VIDEO_PICTURETYPE enumerations, OR'd to 548dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * signal all the pictures types which are 549dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * allowed. 550dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 551dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_DECODEPICTURETYPE { 552dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 553dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 554dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 555dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPictureTypes; 556dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_DECODEPICTURETYPE; 557dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 558dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 559dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This structure describes the sample aspect ratio information. 560e4010605f233a213cf0d972397bb33c34c364227Patrick Tjin * 561dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 562dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 563dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version info 564dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 565dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nWidth : Specifies the horizontal aspect size of 566dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * the sample 567dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nHeight : Specifies the vertical aspect size of the 568dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * sample 569dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 570dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_VIDEO_SAMPLEASPECTRATIO { 571dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 572dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 573dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 574dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U16 nWidth; 575dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U16 nHeight; 576dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_VIDEO_SAMPLEASPECTRATIO; 577dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 578dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus ) 579dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} 580dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */ 581dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 582dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __H_QOMX_VIDEOEXTENSIONS_H__ */ 583