summaryrefslogtreecommitdiff
path: root/domx/omx_core/inc/OMX_Video.h
diff options
context:
space:
mode:
Diffstat (limited to 'domx/omx_core/inc/OMX_Video.h')
-rwxr-xr-xdomx/omx_core/inc/OMX_Video.h626
1 files changed, 322 insertions, 304 deletions
diff --git a/domx/omx_core/inc/OMX_Video.h b/domx/omx_core/inc/OMX_Video.h
index 163e450..c44a5fe 100755
--- a/domx/omx_core/inc/OMX_Video.h
+++ b/domx/omx_core/inc/OMX_Video.h
@@ -1,29 +1,46 @@
+/* ------------------------------------------------------------------
+ * Copyright (C) 1998-2009 PacketVideo
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ * -------------------------------------------------------------------
+ */
/**
- * Copyright (c) 2008 The Khronos Group Inc.
- *
+ * Copyright (c) 2008 The Khronos Group Inc.
+ *
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
- * to the following conditions:
+ * to the following conditions:
* The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
+ * in all copies or substantial portions of the Software.
+ *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
-/**
+/**
* @file OMX_Video.h - OpenMax IL version 1.1.2
- * The structures is needed by Video components to exchange parameters
+ * The structures is needed by Video components to exchange parameters
* and configuration data with OMX components.
*/
#ifndef OMX_Video_h
@@ -43,19 +60,19 @@ extern "C" {
/**
* Each OMX header must include all required header files to allow the
* header to compile without errors. The includes below are required
- * for this header file to compile successfully
+ * for this header file to compile successfully
*/
#include <OMX_IVCommon.h>
/**
- * Enumeration used to define the possible video compression codings.
- * NOTE: This essentially refers to file extensions. If the coding is
- * being used to specify the ENCODE type, then additional work
- * must be done to configure the exact flavor of the compression
- * to be used. For decode cases where the user application can
- * not differentiate between MPEG-4 and H.264 bit streams, it is
+ * Enumeration used to define the possible video compression codings.
+ * NOTE: This essentially refers to file extensions. If the coding is
+ * being used to specify the ENCODE type, then additional work
+ * must be done to configure the exact flavor of the compression
+ * to be used. For decode cases where the user application can
+ * not differentiate between MPEG-4 and H.264 bit streams, it is
* up to the codec to handle this.
*/
typedef enum OMX_VIDEO_CODINGTYPE {
@@ -68,58 +85,59 @@ typedef enum OMX_VIDEO_CODINGTYPE {
OMX_VIDEO_CodingRV, /**< all versions of Real Video */
OMX_VIDEO_CodingAVC, /**< H.264/AVC */
OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */
- OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_CodingVPX, /**< Google VPX, formerly known as On2 VP8 */
+ OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_CodingMax = 0x7FFFFFFF
} OMX_VIDEO_CODINGTYPE;
/**
- * Data structure used to define a video path. The number of Video paths for
- * input and output will vary by type of the Video component.
- *
+ * Data structure used to define a video path. The number of Video paths for
+ * input and output will vary by type of the Video component.
+ *
* Input (aka Source) : zero Inputs, one Output,
* Splitter : one Input, 2 or more Outputs,
* Processing Element : one Input, one output,
* Mixer : 2 or more inputs, one output,
* Output (aka Sink) : one Input, zero outputs.
- *
- * The PortDefinition structure is used to define all of the parameters
- * necessary for the compliant component to setup an input or an output video
- * path. If additional vendor specific data is required, it should be
- * transmitted to the component using the CustomCommand function. Compliant
- * components will prepopulate this structure with optimal values during the
+ *
+ * The PortDefinition structure is used to define all of the parameters
+ * necessary for the compliant component to setup an input or an output video
+ * path. If additional vendor specific data is required, it should be
+ * transmitted to the component using the CustomCommand function. Compliant
+ * components will prepopulate this structure with optimal values during the
* GetDefaultInitParams command.
*
* STRUCT MEMBERS:
* cMIMEType : MIME type of data for the port
- * pNativeRender : Platform specific reference for a display if a
+ * pNativeRender : Platform specific reference for a display if a
* sync, otherwise this field is 0
- * nFrameWidth : Width of frame to be used on channel if
+ * nFrameWidth : Width of frame to be used on channel if
* uncompressed format is used. Use 0 for unknown,
* don't care or variable
- * nFrameHeight : Height of frame to be used on channel if
+ * nFrameHeight : Height of frame to be used on channel if
* uncompressed format is used. Use 0 for unknown,
* don't care or variable
- * nStride : Number of bytes per span of an image
+ * nStride : Number of bytes per span of an image
* (i.e. indicates the number of bytes to get
* from span N to span N+1, where negative stride
* indicates the image is bottom up
* nSliceHeight : Height used when encoding in slices
- * nBitrate : Bit rate of frame to be used on channel if
- * compressed format is used. Use 0 for unknown,
+ * nBitrate : Bit rate of frame to be used on channel if
+ * compressed format is used. Use 0 for unknown,
* don't care or variable
- * xFramerate : Frame rate to be used on channel if uncompressed
- * format is used. Use 0 for unknown, don't care or
+ * xFramerate : Frame rate to be used on channel if uncompressed
+ * format is used. Use 0 for unknown, don't care or
* variable. Units are Q16 frames per second.
- * bFlagErrorConcealment : Turns on error concealment if it is supported by
+ * bFlagErrorConcealment : Turns on error concealment if it is supported by
* the OMX component
- * eCompressionFormat : Compression format used in this instance of the
- * component. When OMX_VIDEO_CodingUnused is
+ * eCompressionFormat : Compression format used in this instance of the
+ * component. When OMX_VIDEO_CodingUnused is
* specified, eColorFormat is used
* eColorFormat : Decompressed format used by this component
- * pNativeWindow : Platform specific reference for a window object if a
- * display sink , otherwise this field is 0x0.
+ * pNativeWindow : Platform specific reference for a window object if a
+ * display sink , otherwise this field is 0x0.
*/
typedef struct OMX_VIDEO_PORTDEFINITIONTYPE {
OMX_STRING cMIMEType;
@@ -136,19 +154,19 @@ typedef struct OMX_VIDEO_PORTDEFINITIONTYPE {
OMX_NATIVE_WINDOWTYPE pNativeWindow;
} OMX_VIDEO_PORTDEFINITIONTYPE;
-/**
- * Port format parameter. This structure is used to enumerate the various
+/**
+ * Port format parameter. This structure is used to enumerate the various
* data input/output format supported by the port.
- *
+ *
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
* nVersion : OMX specification version information
* nPortIndex : Indicates which port to set
- * nIndex : Indicates the enumeration index for the format from
+ * nIndex : Indicates the enumeration index for the format from
* 0x0 to N-1
- * eCompressionFormat : Compression format used in this instance of the
- * component. When OMX_VIDEO_CodingUnused is specified,
- * eColorFormat is used
+ * eCompressionFormat : Compression format used in this instance of the
+ * component. When OMX_VIDEO_CodingUnused is specified,
+ * eColorFormat is used
* eColorFormat : Decompressed format used by this component
* xFrameRate : Indicates the video frame rate in Q16 format
*/
@@ -157,14 +175,14 @@ typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE {
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nIndex;
- OMX_VIDEO_CODINGTYPE eCompressionFormat;
+ OMX_VIDEO_CODINGTYPE eCompressionFormat;
OMX_COLOR_FORMATTYPE eColorFormat;
OMX_U32 xFramerate;
} OMX_VIDEO_PARAM_PORTFORMATTYPE;
/**
- * This is a structure for configuring video compression quantization
+ * This is a structure for configuring video compression quantization
* parameter values. Codecs may support different QP values for different
* frame types.
*
@@ -174,10 +192,10 @@ typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE {
* nPortIndex : Port that this structure applies to
* nQpI : QP value to use for index frames
* nQpP : QP value to use for P frames
- * nQpB : QP values to use for bidirectional frames
+ * nQpB : QP values to use for bidirectional frames
*/
typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE {
- OMX_U32 nSize;
+ OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nQpI;
@@ -186,32 +204,32 @@ typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE {
} OMX_VIDEO_PARAM_QUANTIZATIONTYPE;
-/**
- * Structure for configuration of video fast update parameters.
- *
+/**
+ * Structure for configuration of video fast update parameters.
+ *
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
- * nVersion : OMX specification version info
+ * nVersion : OMX specification version info
* nPortIndex : Port that this structure applies to
* bEnableVFU : Enable/Disable video fast update
* nFirstGOB : Specifies the number of the first macroblock row
* nFirstMB : specifies the first MB relative to the specified first GOB
- * nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB
+ * nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB
* and nFirstMB
*/
typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnableVFU;
- OMX_U32 nFirstGOB;
- OMX_U32 nFirstMB;
- OMX_U32 nNumMBs;
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_BOOL bEnableVFU;
+ OMX_U32 nFirstGOB;
+ OMX_U32 nFirstMB;
+ OMX_U32 nNumMBs;
} OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE;
-/**
- * Enumeration of possible bitrate control types
+/**
+ * Enumeration of possible bitrate control types
*/
typedef enum OMX_VIDEO_CONTROLRATETYPE {
OMX_Video_ControlRateDisable,
@@ -219,14 +237,14 @@ typedef enum OMX_VIDEO_CONTROLRATETYPE {
OMX_Video_ControlRateConstant,
OMX_Video_ControlRateVariableSkipFrames,
OMX_Video_ControlRateConstantSkipFrames,
- OMX_Video_ControlRateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_Video_ControlRateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_Video_ControlRateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_Video_ControlRateMax = 0x7FFFFFFF
} OMX_VIDEO_CONTROLRATETYPE;
-/**
- * Structure for configuring bitrate mode of a codec.
+/**
+ * Structure for configuring bitrate mode of a codec.
*
* STRUCT MEMBERS:
* nSize : Size of the struct in bytes
@@ -236,23 +254,23 @@ typedef enum OMX_VIDEO_CONTROLRATETYPE {
* nTargetBitrate : Target bitrate to encode with
*/
typedef struct OMX_VIDEO_PARAM_BITRATETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_CONTROLRATETYPE eControlRate;
- OMX_U32 nTargetBitrate;
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_VIDEO_CONTROLRATETYPE eControlRate;
+ OMX_U32 nTargetBitrate;
} OMX_VIDEO_PARAM_BITRATETYPE;
-/**
- * Enumeration of possible motion vector (MV) types
+/**
+ * Enumeration of possible motion vector (MV) types
*/
typedef enum OMX_VIDEO_MOTIONVECTORTYPE {
OMX_Video_MotionVectorPixel,
OMX_Video_MotionVectorHalfPel,
OMX_Video_MotionVectorQuarterPel,
OMX_Video_MotionVectorEighthPel,
- OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_Video_MotionVectorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_Video_MotionVectorMax = 0x7FFFFFFF
} OMX_VIDEO_MOTIONVECTORTYPE;
@@ -261,7 +279,7 @@ typedef enum OMX_VIDEO_MOTIONVECTORTYPE {
/**
* Structure for configuring the number of motion vectors used as well
* as their accuracy.
- *
+ *
* STRUCT MEMBERS:
* nSize : Size of the struct in bytes
* nVersion : OMX spec version info
@@ -284,32 +302,32 @@ typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE {
} OMX_VIDEO_PARAM_MOTIONVECTORTYPE;
-/**
- * Enumeration of possible methods to use for Intra Refresh
+/**
+ * Enumeration of possible methods to use for Intra Refresh
*/
typedef enum OMX_VIDEO_INTRAREFRESHTYPE {
OMX_VIDEO_IntraRefreshCyclic,
OMX_VIDEO_IntraRefreshAdaptive,
OMX_VIDEO_IntraRefreshBoth,
- OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_IntraRefreshVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_IntraRefreshMax = 0x7FFFFFFF
} OMX_VIDEO_INTRAREFRESHTYPE;
/**
- * Structure for configuring intra refresh mode
- *
+ * Structure for configuring intra refresh mode
+ *
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
* nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
* eRefreshMode : Cyclic, Adaptive, or Both
- * nAirMBs : Number of intra macroblocks to refresh in a frame when
+ * nAirMBs : Number of intra macroblocks to refresh in a frame when
* AIR is enabled
- * nAirRef : Number of times a motion marked macroblock has to be
+ * nAirRef : Number of times a motion marked macroblock has to be
* intra coded
- * nCirMBs : Number of consecutive macroblocks to be coded as "intra"
+ * nCirMBs : Number of consecutive macroblocks to be coded as "intra"
* when CIR is enabled
*/
typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE {
@@ -324,19 +342,19 @@ typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE {
/**
- * Structure for enabling various error correction methods for video
+ * Structure for enabling various error correction methods for video
* compression.
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
+ * nVersion : OMX specification version information
+ * nPortIndex : Port that this structure applies to
* bEnableHEC : Enable/disable header extension codes (HEC)
* bEnableResync : Enable/disable resynchronization markers
- * nResynchMarkerSpacing : Resynch markers interval (in bits) to be
- * applied in the stream
- * bEnableDataPartitioning : Enable/disable data partitioning
- * bEnableRVLC : Enable/disable reversible variable length
+ * nResynchMarkerSpacing : Resynch markers interval (in bits) to be
+ * applied in the stream
+ * bEnableDataPartitioning : Enable/disable data partitioning
+ * bEnableRVLC : Enable/disable reversible variable length
* coding
*/
typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE {
@@ -351,12 +369,12 @@ typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE {
} OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE;
-/**
- * Configuration of variable block-size motion compensation (VBSMC)
- *
+/**
+ * Configuration of variable block-size motion compensation (VBSMC)
+ *
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
+ * nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
* b16x16 : Enable inter block search 16x16
* b16x8 : Enable inter block search 16x8
@@ -367,11 +385,11 @@ typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE {
* b4x4 : Enable inter block search 4x4
*/
typedef struct OMX_VIDEO_PARAM_VBSMCTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL b16x16;
- OMX_BOOL b16x8;
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_BOOL b16x16;
+ OMX_BOOL b16x8;
OMX_BOOL b8x16;
OMX_BOOL b8x8;
OMX_BOOL b8x4;
@@ -380,67 +398,67 @@ typedef struct OMX_VIDEO_PARAM_VBSMCTYPE {
} OMX_VIDEO_PARAM_VBSMCTYPE;
-/**
- * H.263 profile types, each profile indicates support for various
+/**
+ * H.263 profile types, each profile indicates support for various
* performance bounds and different annexes.
*
* ENUMS:
- * Baseline : Baseline Profile: H.263 (V1), no optional modes
- * H320 Coding : H.320 Coding Efficiency Backward Compatibility
+ * Baseline : Baseline Profile: H.263 (V1), no optional modes
+ * H320 Coding : H.320 Coding Efficiency Backward Compatibility
* Profile: H.263+ (V2), includes annexes I, J, L.4
* and T
- * BackwardCompatible : Backward Compatibility Profile: H.263 (V1),
- * includes annex F
- * ISWV2 : Interactive Streaming Wireless Profile: H.263+
- * (V2), includes annexes I, J, K and T
- * ISWV3 : Interactive Streaming Wireless Profile: H.263++
- * (V3), includes profile 3 and annexes V and W.6.3.8
- * HighCompression : Conversational High Compression Profile: H.263++
- * (V3), includes profiles 1 & 2 and annexes D and U
- * Internet : Conversational Internet Profile: H.263++ (V3),
- * includes profile 5 and annex K
- * Interlace : Conversational Interlace Profile: H.263++ (V3),
- * includes profile 5 and annex W.6.3.11
- * HighLatency : High Latency Profile: H.263++ (V3), includes
- * profile 6 and annexes O.1 and P.5
+ * BackwardCompatible : Backward Compatibility Profile: H.263 (V1),
+ * includes annex F
+ * ISWV2 : Interactive Streaming Wireless Profile: H.263+
+ * (V2), includes annexes I, J, K and T
+ * ISWV3 : Interactive Streaming Wireless Profile: H.263++
+ * (V3), includes profile 3 and annexes V and W.6.3.8
+ * HighCompression : Conversational High Compression Profile: H.263++
+ * (V3), includes profiles 1 & 2 and annexes D and U
+ * Internet : Conversational Internet Profile: H.263++ (V3),
+ * includes profile 5 and annex K
+ * Interlace : Conversational Interlace Profile: H.263++ (V3),
+ * includes profile 5 and annex W.6.3.11
+ * HighLatency : High Latency Profile: H.263++ (V3), includes
+ * profile 6 and annexes O.1 and P.5
*/
typedef enum OMX_VIDEO_H263PROFILETYPE {
- OMX_VIDEO_H263ProfileBaseline = 0x01,
- OMX_VIDEO_H263ProfileH320Coding = 0x02,
- OMX_VIDEO_H263ProfileBackwardCompatible = 0x04,
- OMX_VIDEO_H263ProfileISWV2 = 0x08,
- OMX_VIDEO_H263ProfileISWV3 = 0x10,
- OMX_VIDEO_H263ProfileHighCompression = 0x20,
- OMX_VIDEO_H263ProfileInternet = 0x40,
- OMX_VIDEO_H263ProfileInterlace = 0x80,
- OMX_VIDEO_H263ProfileHighLatency = 0x100,
- OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_H263ProfileBaseline = 0x01,
+ OMX_VIDEO_H263ProfileH320Coding = 0x02,
+ OMX_VIDEO_H263ProfileBackwardCompatible = 0x04,
+ OMX_VIDEO_H263ProfileISWV2 = 0x08,
+ OMX_VIDEO_H263ProfileISWV3 = 0x10,
+ OMX_VIDEO_H263ProfileHighCompression = 0x20,
+ OMX_VIDEO_H263ProfileInternet = 0x40,
+ OMX_VIDEO_H263ProfileInterlace = 0x80,
+ OMX_VIDEO_H263ProfileHighLatency = 0x100,
+ OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_H263ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF
+ OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF
} OMX_VIDEO_H263PROFILETYPE;
-/**
- * H.263 level types, each level indicates support for various frame sizes,
+/**
+ * H.263 level types, each level indicates support for various frame sizes,
* bit rates, decoder frame rates.
*/
typedef enum OMX_VIDEO_H263LEVELTYPE {
- OMX_VIDEO_H263Level10 = 0x01,
- OMX_VIDEO_H263Level20 = 0x02,
- OMX_VIDEO_H263Level30 = 0x04,
- OMX_VIDEO_H263Level40 = 0x08,
- OMX_VIDEO_H263Level45 = 0x10,
- OMX_VIDEO_H263Level50 = 0x20,
- OMX_VIDEO_H263Level60 = 0x40,
- OMX_VIDEO_H263Level70 = 0x80,
- OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_H263Level10 = 0x01,
+ OMX_VIDEO_H263Level20 = 0x02,
+ OMX_VIDEO_H263Level30 = 0x04,
+ OMX_VIDEO_H263Level40 = 0x08,
+ OMX_VIDEO_H263Level45 = 0x10,
+ OMX_VIDEO_H263Level50 = 0x20,
+ OMX_VIDEO_H263Level60 = 0x40,
+ OMX_VIDEO_H263Level70 = 0x80,
+ OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_H263LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_H263LevelMax = 0x7FFFFFFF
+ OMX_VIDEO_H263LevelMax = 0x7FFFFFFF
} OMX_VIDEO_H263LEVELTYPE;
-/**
- * Specifies the picture type. These values should be OR'd to signal all
+/**
+ * Specifies the picture type. These values should be OR'd to signal all
* pictures types which are allowed.
*
* ENUMS:
@@ -458,36 +476,36 @@ typedef enum OMX_VIDEO_PICTURETYPE {
OMX_VIDEO_PictureTypeEI = 0x11,
OMX_VIDEO_PictureTypeEP = 0x12,
OMX_VIDEO_PictureTypeS = 0x14,
- OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_PictureTypeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_PictureTypeMax = 0x7FFFFFFF
} OMX_VIDEO_PICTURETYPE;
-/**
- * H.263 Params
+/**
+ * H.263 Params
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
+ * nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
* nPFrames : Number of P frames between each I frame
* nBFrames : Number of B frames between each I frame
* eProfile : H.263 profile(s) to use
* eLevel : H.263 level(s) to use
- * bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE
- * (specified in the 1998 version of H.263) to
- * indicate custom picture sizes or clock
- * frequencies
- * nAllowedPictureTypes : Specifies the picture types allowed in the
+ * bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE
+ * (specified in the 1998 version of H.263) to
+ * indicate custom picture sizes or clock
+ * frequencies
+ * nAllowedPictureTypes : Specifies the picture types allowed in the
* bitstream
- * bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is
- * not constrained. It is recommended to change
- * the value of the RTYPE bit for each reference
+ * bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is
+ * not constrained. It is recommended to change
+ * the value of the RTYPE bit for each reference
* picture in error-free communication
- * nPictureHeaderRepetition : Specifies the frequency of picture header
+ * nPictureHeaderRepetition : Specifies the frequency of picture header
* repetition
- * nGOBHeaderInterval : Specifies the interval of non-empty GOB
+ * nGOBHeaderInterval : Specifies the interval of non-empty GOB
* headers in units of GOBs
*/
typedef struct OMX_VIDEO_PARAM_H263TYPE {
@@ -506,8 +524,8 @@ typedef struct OMX_VIDEO_PARAM_H263TYPE {
} OMX_VIDEO_PARAM_H263TYPE;
-/**
- * MPEG-2 profile types, each profile indicates support for various
+/**
+ * MPEG-2 profile types, each profile indicates support for various
* performance bounds and different annexes.
*/
typedef enum OMX_VIDEO_MPEG2PROFILETYPE {
@@ -517,29 +535,29 @@ typedef enum OMX_VIDEO_MPEG2PROFILETYPE {
OMX_VIDEO_MPEG2ProfileSNR, /**< SNR Profile */
OMX_VIDEO_MPEG2ProfileSpatial, /**< Spatial Profile */
OMX_VIDEO_MPEG2ProfileHigh, /**< High Profile */
- OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_MPEG2ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF
+ OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF
} OMX_VIDEO_MPEG2PROFILETYPE;
-/**
- * MPEG-2 level types, each level indicates support for various frame
- * sizes, bit rates, decoder frame rates. No need
+/**
+ * MPEG-2 level types, each level indicates support for various frame
+ * sizes, bit rates, decoder frame rates. No need
*/
typedef enum OMX_VIDEO_MPEG2LEVELTYPE {
- OMX_VIDEO_MPEG2LevelLL = 0, /**< Low Level */
- OMX_VIDEO_MPEG2LevelML, /**< Main Level */
- OMX_VIDEO_MPEG2LevelH14, /**< High 1440 */
- OMX_VIDEO_MPEG2LevelHL, /**< High Level */
- OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_MPEG2LevelLL = 0, /**< Low Level */
+ OMX_VIDEO_MPEG2LevelML, /**< Main Level */
+ OMX_VIDEO_MPEG2LevelH14, /**< High 1440 */
+ OMX_VIDEO_MPEG2LevelHL, /**< High Level */
+ OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_MPEG2LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF
+ OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF
} OMX_VIDEO_MPEG2LEVELTYPE;
-/**
- * MPEG-2 params
+/**
+ * MPEG-2 params
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
@@ -551,20 +569,20 @@ typedef enum OMX_VIDEO_MPEG2LEVELTYPE {
* eLevel : MPEG-2 levels(s) to use
*/
typedef struct OMX_VIDEO_PARAM_MPEG2TYPE {
- OMX_U32 nSize;
+ OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nPFrames;
- OMX_U32 nBFrames;
+ OMX_U32 nPortIndex;
+ OMX_U32 nPFrames;
+ OMX_U32 nBFrames;
OMX_VIDEO_MPEG2PROFILETYPE eProfile;
- OMX_VIDEO_MPEG2LEVELTYPE eLevel;
+ OMX_VIDEO_MPEG2LEVELTYPE eLevel;
} OMX_VIDEO_PARAM_MPEG2TYPE;
-/**
- * MPEG-4 profile types, each profile indicates support for various
+/**
+ * MPEG-4 profile types, each profile indicates support for various
* performance bounds and different annexes.
- *
+ *
* ENUMS:
* - Simple Profile, Levels 1-3
* - Simple Scalable Profile, Levels 1-2
@@ -583,48 +601,48 @@ typedef struct OMX_VIDEO_PARAM_MPEG2TYPE {
* - Advanced Scalable Texture, Levels 2-3
*/
typedef enum OMX_VIDEO_MPEG4PROFILETYPE {
- OMX_VIDEO_MPEG4ProfileSimple = 0x01,
- OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02,
- OMX_VIDEO_MPEG4ProfileCore = 0x04,
- OMX_VIDEO_MPEG4ProfileMain = 0x08,
- OMX_VIDEO_MPEG4ProfileNbit = 0x10,
- OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20,
- OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40,
- OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80,
- OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100,
- OMX_VIDEO_MPEG4ProfileHybrid = 0x200,
- OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400,
- OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800,
- OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000,
- OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000,
+ OMX_VIDEO_MPEG4ProfileSimple = 0x01,
+ OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02,
+ OMX_VIDEO_MPEG4ProfileCore = 0x04,
+ OMX_VIDEO_MPEG4ProfileMain = 0x08,
+ OMX_VIDEO_MPEG4ProfileNbit = 0x10,
+ OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20,
+ OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40,
+ OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80,
+ OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100,
+ OMX_VIDEO_MPEG4ProfileHybrid = 0x200,
+ OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400,
+ OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800,
+ OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000,
+ OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000,
OMX_VIDEO_MPEG4ProfileAdvancedScalable = 0x4000,
OMX_VIDEO_MPEG4ProfileAdvancedSimple = 0x8000,
- OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_MPEG4ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF
+ OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF
} OMX_VIDEO_MPEG4PROFILETYPE;
-/**
- * MPEG-4 level types, each level indicates support for various frame
- * sizes, bit rates, decoder frame rates. No need
+/**
+ * MPEG-4 level types, each level indicates support for various frame
+ * sizes, bit rates, decoder frame rates. No need
*/
typedef enum OMX_VIDEO_MPEG4LEVELTYPE {
- OMX_VIDEO_MPEG4Level0 = 0x01, /**< Level 0 */
- OMX_VIDEO_MPEG4Level0b = 0x02, /**< Level 0b */
- OMX_VIDEO_MPEG4Level1 = 0x04, /**< Level 1 */
- OMX_VIDEO_MPEG4Level2 = 0x08, /**< Level 2 */
- OMX_VIDEO_MPEG4Level3 = 0x10, /**< Level 3 */
- OMX_VIDEO_MPEG4Level4 = 0x20, /**< Level 4 */
- OMX_VIDEO_MPEG4Level4a = 0x40, /**< Level 4a */
- OMX_VIDEO_MPEG4Level5 = 0x80, /**< Level 5 */
- OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_MPEG4Level0 = 0x01, /**< Level 0 */
+ OMX_VIDEO_MPEG4Level0b = 0x02, /**< Level 0b */
+ OMX_VIDEO_MPEG4Level1 = 0x04, /**< Level 1 */
+ OMX_VIDEO_MPEG4Level2 = 0x08, /**< Level 2 */
+ OMX_VIDEO_MPEG4Level3 = 0x10, /**< Level 3 */
+ OMX_VIDEO_MPEG4Level4 = 0x20, /**< Level 4 */
+ OMX_VIDEO_MPEG4Level4a = 0x40, /**< Level 4a */
+ OMX_VIDEO_MPEG4Level5 = 0x80, /**< Level 5 */
+ OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_MPEG4LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF
+ OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF
} OMX_VIDEO_MPEG4LEVELTYPE;
-/**
+/**
* MPEG-4 configuration. This structure handles configuration options
* which are specific to MPEG4 algorithms
*
@@ -632,24 +650,24 @@ typedef enum OMX_VIDEO_MPEG4LEVELTYPE {
* nSize : Size of the structure in bytes
* nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
- * nSliceHeaderSpacing : Number of macroblocks between slice header (H263+
+ * nSliceHeaderSpacing : Number of macroblocks between slice header (H263+
* Annex K). Put zero if not used
* bSVH : Enable Short Video Header mode
* bGov : Flag to enable GOV
- * nPFrames : Number of P frames between each I frame (also called
+ * nPFrames : Number of P frames between each I frame (also called
* GOV period)
* nBFrames : Number of B frames between each I frame
* nIDCVLCThreshold : Value of intra DC VLC threshold
* bACPred : Flag to use ac prediction
* nMaxPacketSize : Maximum size of packet in bytes.
- * nTimeIncRes : Used to pass VOP time increment resolution for MPEG4.
+ * nTimeIncRes : Used to pass VOP time increment resolution for MPEG4.
* Interpreted as described in MPEG4 standard.
* eProfile : MPEG-4 profile(s) to use.
* eLevel : MPEG-4 level(s) to use.
* nAllowedPictureTypes : Specifies the picture types allowed in the bitstream
* nHeaderExtension : Specifies the number of consecutive video packet
* headers within a VOP
- * bReversibleVLC : Specifies whether reversible variable length coding
+ * bReversibleVLC : Specifies whether reversible variable length coding
* is in use
*/
typedef struct OMX_VIDEO_PARAM_MPEG4TYPE {
@@ -673,22 +691,22 @@ typedef struct OMX_VIDEO_PARAM_MPEG4TYPE {
} OMX_VIDEO_PARAM_MPEG4TYPE;
-/**
- * WMV Versions
+/**
+ * WMV Versions
*/
typedef enum OMX_VIDEO_WMVFORMATTYPE {
OMX_VIDEO_WMVFormatUnused = 0x01, /**< Format unused or unknown */
OMX_VIDEO_WMVFormat7 = 0x02, /**< Windows Media Video format 7 */
OMX_VIDEO_WMVFormat8 = 0x04, /**< Windows Media Video format 8 */
OMX_VIDEO_WMVFormat9 = 0x08, /**< Windows Media Video format 9 */
- OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_WMFFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_WMVFormatMax = 0x7FFFFFFF
} OMX_VIDEO_WMVFORMATTYPE;
-/**
- * WMV Params
+/**
+ * WMV Params
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
@@ -697,33 +715,33 @@ typedef enum OMX_VIDEO_WMVFORMATTYPE {
* eFormat : Version of WMV stream / data
*/
typedef struct OMX_VIDEO_PARAM_WMVTYPE {
- OMX_U32 nSize;
+ OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_VIDEO_WMVFORMATTYPE eFormat;
} OMX_VIDEO_PARAM_WMVTYPE;
-/**
- * Real Video Version
+/**
+ * Real Video Version
*/
typedef enum OMX_VIDEO_RVFORMATTYPE {
OMX_VIDEO_RVFormatUnused = 0, /**< Format unused or unknown */
OMX_VIDEO_RVFormat8, /**< Real Video format 8 */
OMX_VIDEO_RVFormat9, /**< Real Video format 9 */
OMX_VIDEO_RVFormatG2, /**< Real Video Format G2 */
- OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_RVFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_RVFormatMax = 0x7FFFFFFF
} OMX_VIDEO_RVFORMATTYPE;
-/**
- * Real Video Params
+/**
+ * Real Video Params
*
* STUCT MEMBERS:
* nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
+ * nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
* eFormat : Version of RV stream / data
* nBitsPerPixel : Bits per pixel coded in the frame
@@ -735,11 +753,11 @@ typedef enum OMX_VIDEO_RVFORMATTYPE {
* nMaxEncodeFrameSize: Max encoded frame size
* bEnablePostFilter : Turn on/off post filter
* bEnableTemporalInterpolation : Turn on/off temporal interpolation
- * bEnableLatencyMode : When enabled, the decoder does not display a decoded
- * frame until it has detected that no enhancement layer
- * frames or dependent B frames will be coming. This
- * detection usually occurs when a subsequent non-B
- * frame is encountered
+ * bEnableLatencyMode : When enabled, the decoder does not display a decoded
+ * frame until it has detected that no enhancement layer
+ * frames or dependent B frames will be coming. This
+ * detection usually occurs when a subsequent non-B
+ * frame is encountered
*/
typedef struct OMX_VIDEO_PARAM_RVTYPE {
OMX_U32 nSize;
@@ -759,8 +777,8 @@ typedef struct OMX_VIDEO_PARAM_RVTYPE {
} OMX_VIDEO_PARAM_RVTYPE;
-/**
- * AVC profile types, each profile indicates support for various
+/**
+ * AVC profile types, each profile indicates support for various
* performance bounds and different annexes.
*/
typedef enum OMX_VIDEO_AVCPROFILETYPE {
@@ -771,15 +789,15 @@ typedef enum OMX_VIDEO_AVCPROFILETYPE {
OMX_VIDEO_AVCProfileHigh10 = 0x10, /**< High 10 profile */
OMX_VIDEO_AVCProfileHigh422 = 0x20, /**< High 4:2:2 profile */
OMX_VIDEO_AVCProfileHigh444 = 0x40, /**< High 4:4:4 profile */
- OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_AVCProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF
+ OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF
} OMX_VIDEO_AVCPROFILETYPE;
-/**
- * AVC level types, each level indicates support for various frame sizes,
- * bit rates, decoder frame rates. No need
+/**
+ * AVC level types, each level indicates support for various frame sizes,
+ * bit rates, decoder frame rates. No need
*/
typedef enum OMX_VIDEO_AVCLEVELTYPE {
OMX_VIDEO_AVCLevel1 = 0x01, /**< Level 1 */
@@ -798,14 +816,14 @@ typedef enum OMX_VIDEO_AVCLEVELTYPE {
OMX_VIDEO_AVCLevel42 = 0x2000, /**< Level 4.2 */
OMX_VIDEO_AVCLevel5 = 0x4000, /**< Level 5 */
OMX_VIDEO_AVCLevel51 = 0x8000, /**< Level 5.1 */
- OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_AVCLevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF
+ OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF
} OMX_VIDEO_AVCLEVELTYPE;
-/**
- * AVC loop filter modes
+/**
+ * AVC loop filter modes
*
* OMX_VIDEO_AVCLoopFilterEnable : Enable
* OMX_VIDEO_AVCLoopFilterDisable : Disable
@@ -815,20 +833,20 @@ typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE {
OMX_VIDEO_AVCLoopFilterEnable = 0,
OMX_VIDEO_AVCLoopFilterDisable,
OMX_VIDEO_AVCLoopFilterDisableSliceBoundary,
- OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_AVCLoopFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_AVCLoopFilterMax = 0x7FFFFFFF
} OMX_VIDEO_AVCLOOPFILTERTYPE;
-/**
- * AVC params
+/**
+ * AVC params
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
* nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
- * nSliceHeaderSpacing : Number of macroblocks between slice header, put
+ * nSliceHeaderSpacing : Number of macroblocks between slice header, put
* zero if not used
* nPFrames : Number of P frames between each I frame
* nBFrames : Number of B frames between each I frame
@@ -841,85 +859,85 @@ typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE {
* nRefIdxForward : Pic param set ref frame index (index into ref
* frame buffer of forward frames list), B frame
* support
- * bEnableUEP : Enable/disable unequal error protection. This
+ * bEnableUEP : Enable/disable unequal error protection. This
* is only valid of data partitioning is enabled.
* bEnableFMO : Enable/disable flexible macroblock ordering
* bEnableASO : Enable/disable arbitrary slice ordering
* bEnableRS : Enable/disable sending of redundant slices
* eProfile : AVC profile(s) to use
* eLevel : AVC level(s) to use
- * nAllowedPictureTypes : Specifies the picture types allowed in the
+ * nAllowedPictureTypes : Specifies the picture types allowed in the
* bitstream
- * bFrameMBsOnly : specifies that every coded picture of the
- * coded video sequence is a coded frame
+ * bFrameMBsOnly : specifies that every coded picture of the
+ * coded video sequence is a coded frame
* containing only frame macroblocks
- * bMBAFF : Enable/disable switching between frame and
+ * bMBAFF : Enable/disable switching between frame and
* field macroblocks within a picture
- * bEntropyCodingCABAC : Entropy decoding method to be applied for the
- * syntax elements for which two descriptors appear
+ * bEntropyCodingCABAC : Entropy decoding method to be applied for the
+ * syntax elements for which two descriptors appear
* in the syntax tables
- * bWeightedPPrediction : Enable/disable weighted prediction shall not
+ * bWeightedPPrediction : Enable/disable weighted prediction shall not
* be applied to P and SP slices
- * nWeightedBipredicitonMode : Default weighted prediction is applied to B
- * slices
+ * nWeightedBipredicitonMode : Default weighted prediction is applied to B
+ * slices
* bconstIpred : Enable/disable intra prediction
- * bDirect8x8Inference : Specifies the method used in the derivation
- * process for luma motion vectors for B_Skip,
- * B_Direct_16x16 and B_Direct_8x8 as specified
- * in subclause 8.4.1.2 of the AVC spec
+ * bDirect8x8Inference : Specifies the method used in the derivation
+ * process for luma motion vectors for B_Skip,
+ * B_Direct_16x16 and B_Direct_8x8 as specified
+ * in subclause 8.4.1.2 of the AVC spec
* bDirectSpatialTemporal : Flag indicating spatial or temporal direct
- * mode used in B slice coding (related to
- * bDirect8x8Inference) . Spatial direct mode is
+ * mode used in B slice coding (related to
+ * bDirect8x8Inference) . Spatial direct mode is
* more common and should be the default.
* nCabacInitIdx : Index used to init CABAC contexts
* eLoopFilterMode : Enable/disable loop filter
*/
typedef struct OMX_VIDEO_PARAM_AVCTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nSliceHeaderSpacing;
- OMX_U32 nPFrames;
- OMX_U32 nBFrames;
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_U32 nSliceHeaderSpacing;
+ OMX_U32 nPFrames;
+ OMX_U32 nBFrames;
OMX_BOOL bUseHadamard;
- OMX_U32 nRefFrames;
+ OMX_U32 nRefFrames;
OMX_U32 nRefIdx10ActiveMinus1;
OMX_U32 nRefIdx11ActiveMinus1;
- OMX_BOOL bEnableUEP;
- OMX_BOOL bEnableFMO;
- OMX_BOOL bEnableASO;
- OMX_BOOL bEnableRS;
+ OMX_BOOL bEnableUEP;
+ OMX_BOOL bEnableFMO;
+ OMX_BOOL bEnableASO;
+ OMX_BOOL bEnableRS;
OMX_VIDEO_AVCPROFILETYPE eProfile;
- OMX_VIDEO_AVCLEVELTYPE eLevel;
- OMX_U32 nAllowedPictureTypes;
- OMX_BOOL bFrameMBsOnly;
- OMX_BOOL bMBAFF;
- OMX_BOOL bEntropyCodingCABAC;
- OMX_BOOL bWeightedPPrediction;
- OMX_U32 nWeightedBipredicitonMode;
+ OMX_VIDEO_AVCLEVELTYPE eLevel;
+ OMX_U32 nAllowedPictureTypes;
+ OMX_BOOL bFrameMBsOnly;
+ OMX_BOOL bMBAFF;
+ OMX_BOOL bEntropyCodingCABAC;
+ OMX_BOOL bWeightedPPrediction;
+ OMX_U32 nWeightedBipredicitonMode;
OMX_BOOL bconstIpred ;
- OMX_BOOL bDirect8x8Inference;
+ OMX_BOOL bDirect8x8Inference;
OMX_BOOL bDirectSpatialTemporal;
OMX_U32 nCabacInitIdc;
OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode;
} OMX_VIDEO_PARAM_AVCTYPE;
typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 eProfile; /**< type is OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE,
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_U32 eProfile; /**< type is OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE,
or OMX_VIDEO_MPEG4PROFILETYPE depending on context */
- OMX_U32 eLevel; /**< type is OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE,
+ OMX_U32 eLevel; /**< type is OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE,
or OMX_VIDEO_MPEG4PROFILETYPE depending on context */
OMX_U32 nProfileIndex; /**< Used to query for individual profile support information,
- This parameter is valid only for
+ This parameter is valid only for
OMX_IndexParamVideoProfileLevelQuerySupported index,
For all other indices this parameter is to be ignored. */
} OMX_VIDEO_PARAM_PROFILELEVELTYPE;
-/**
- * Structure for dynamically configuring bitrate mode of a codec.
+/**
+ * Structure for dynamically configuring bitrate mode of a codec.
*
* STRUCT MEMBERS:
* nSize : Size of the struct in bytes
@@ -928,18 +946,18 @@ typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE {
* nEncodeBitrate : Target average bitrate to be generated in bps
*/
typedef struct OMX_VIDEO_CONFIG_BITRATETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nEncodeBitrate;
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_U32 nEncodeBitrate;
} OMX_VIDEO_CONFIG_BITRATETYPE;
-/**
+/**
* Defines Encoder Frame Rate setting
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
+ * nVersion : OMX specification version information
* nPortIndex : Port that this structure applies to
* xEncodeFramerate : Encoding framerate represented in Q16 format
*/
@@ -979,8 +997,8 @@ typedef struct OMX_PARAM_MACROBLOCKSTYPE {
OMX_U32 nMacroblocks;
} OMX_PARAM_MACROBLOCKSTYPE;
-/**
- * AVC Slice Mode modes
+/**
+ * AVC Slice Mode modes
*
* OMX_VIDEO_SLICEMODE_AVCDefault : Normal frame encoding, one slice per frame
* OMX_VIDEO_SLICEMODE_AVCMBSlice : NAL mode, number of MBs per frame
@@ -990,13 +1008,13 @@ typedef enum OMX_VIDEO_AVCSLICEMODETYPE {
OMX_VIDEO_SLICEMODE_AVCDefault = 0,
OMX_VIDEO_SLICEMODE_AVCMBSlice,
OMX_VIDEO_SLICEMODE_AVCByteSlice,
- OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
+ OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_SLICEMODE_AVCVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_SLICEMODE_AVCLevelMax = 0x7FFFFFFF
} OMX_VIDEO_AVCSLICEMODETYPE;
-/**
- * AVC FMO Slice Mode Params
+/**
+ * AVC FMO Slice Mode Params
*
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
@@ -1007,7 +1025,7 @@ typedef enum OMX_VIDEO_AVCSLICEMODETYPE {
* eSliceMode : Specifies the type of slice
*/
typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO {
- OMX_U32 nSize;
+ OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U8 nNumSliceGroups;
@@ -1015,7 +1033,7 @@ typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO {
OMX_VIDEO_AVCSLICEMODETYPE eSliceMode;
} OMX_VIDEO_PARAM_AVCSLICEFMO;
-/**
+/**
* AVC IDR Period Configs
*
* STRUCT MEMBERS:
@@ -1026,14 +1044,14 @@ typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO {
* nPFrames : Specifies internal of coding Intra frames
*/
typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD {
- OMX_U32 nSize;
+ OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nIDRPeriod;
OMX_U32 nPFrames;
} OMX_VIDEO_CONFIG_AVCINTRAPERIOD;
-/**
+/**
* AVC NAL Size Configs
*
* STRUCT MEMBERS:
@@ -1043,7 +1061,7 @@ typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD {
* nNaluBytes : Specifies the NAL unit size
*/
typedef struct OMX_VIDEO_CONFIG_NALSIZE {
- OMX_U32 nSize;
+ OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nNaluBytes;