1a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli/*
2a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * Copyright (c) 2010 The Khronos Group Inc.
3a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli *
4a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * Permission is hereby granted, free of charge, to any person obtaining
5a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * a copy of this software and associated documentation files (the
6a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * "Software"), to deal in the Software without restriction, including
7a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * without limitation the rights to use, copy, modify, merge, publish,
8a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * distribute, sublicense, and/or sell copies of the Software, and to
9a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * permit persons to whom the Software is furnished to do so, subject
10a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * to the following conditions:
11a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * The above copyright notice and this permission notice shall be included
12a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * in all copies or substantial portions of the Software.
13a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli *
14a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli *
22a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli */
23a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
24a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli/** OMX_VideoExt.h - OpenMax IL version 1.1.2
25a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * The OMX_VideoExt header file contains extensions to the
26a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * definitions used by both the application and the component to
27a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * access video items.
28a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli */
29a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
305ab2f45a95344b12cad43f277a730c8679b42171Dan Liang#ifndef OMX_IntelVideoExt_h
315ab2f45a95344b12cad43f277a730c8679b42171Dan Liang#define OMX_IntelVideoExt_h
32a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
33a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli#ifdef __cplusplus
34a08b0640a5c18bef7ddf8493abb249dc05df2f2fxliextern "C" {
35a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli#endif /* __cplusplus */
36a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
37a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli/* Each OMX header shall include all required header files to allow the
38a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * header to compile without errors.  The includes below are required
39a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli * for this header file to compile successfully
40a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli */
41a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli#include <OMX_Core.h>
42e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel#include <OMX_Video.h>
43e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel
44a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli/** NALU Formats */
455ab2f45a95344b12cad43f277a730c8679b42171Dan Liangtypedef enum OMX_INTEL_NALUFORMATSTYPE {
46a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli    OMX_NaluFormatZeroByteInterleaveLength = 32,
47a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli    OMX_NaluFormatStartCodesSeparateFirstHeader = 64,
48039125eefa42141c1e7633e4e558a53fdaff3e9dWeian Chen    OMX_NaluFormatLengthPrefixedSeparateFirstHeader = 128,
495ab2f45a95344b12cad43f277a730c8679b42171Dan Liang} OMX_INTEL_NALUFORMATSTYPE;
50a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
51a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
52a08b0640a5c18bef7ddf8493abb249dc05df2f2fxlitypedef struct OMX_VIDEO_PARAM_BYTESTREAMTYPE {
53a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nSize;                 // Size of the structure
54a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_VERSIONTYPE nVersion;      // OMX specification version
55a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nPortIndex;            // Port that this structure applies to
56a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_BOOL bBytestream;          // Enable/disable bytestream support
57a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli} OMX_VIDEO_PARAM_BYTESTREAMTYPE;
58a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
59a08b0640a5c18bef7ddf8493abb249dc05df2f2fxlitypedef struct OMX_VIDEO_CONFIG_INTEL_BITRATETYPE {
60a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nSize;
61a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_VERSIONTYPE nVersion;
62a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nPortIndex;
63a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nMaxEncodeBitrate;    // Maximum bitrate
64a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nTargetPercentage;    // Target bitrate as percentage of maximum bitrate; e.g. 95 is 95%
65a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nWindowSize;          // Window size in milliseconds allowed for bitrate to reach target
66a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nInitialQP;           // Initial QP for I frames
67a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nMinQP;
68536f092125a0a1b5a60aa60690a2393c83b3848abolunliu     OMX_U32 nMaxQP;
69536f092125a0a1b5a60aa60690a2393c83b3848abolunliu     OMX_U32 nFrameRate;
70536f092125a0a1b5a60aa60690a2393c83b3848abolunliu     OMX_U32 nTemporalID;
71a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli} OMX_VIDEO_CONFIG_INTEL_BITRATETYPE;
72a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
73e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudelenum  {
74036cadf0e1af61d1c10cec0f1e8de14862cd6886gji    OMX_Video_Intel_ControlRateVideoConferencingMode = OMX_Video_ControlRateVendorStartUnused + 1
75036cadf0e1af61d1c10cec0f1e8de14862cd6886gji};
76a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
77a08b0640a5c18bef7ddf8493abb249dc05df2f2fxlitypedef struct OMX_VIDEO_PARAM_INTEL_AVC_DECODE_SETTINGS {
78a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nSize;                       // Size of the structure
79a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_VERSIONTYPE nVersion;            // OMX specification version
80a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nPortIndex;                  // Port that this structure applies to
81a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nMaxNumberOfReferenceFrame;  // Maximum number of reference frames
82a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nMaxWidth;                   // Maximum width of video
83a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nMaxHeight;                  // Maximum height of video
84a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli} OMX_VIDEO_PARAM_INTEL_AVC_DECODE_SETTINGS;
85a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
86a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
87a08b0640a5c18bef7ddf8493abb249dc05df2f2fxlitypedef struct OMX_VIDEO_CONFIG_INTEL_SLICE_NUMBERS {
88a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nSize;                       // Size of the structure
89a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_VERSIONTYPE nVersion;            // OMX specification version
90a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nPortIndex;                  // Port that this structure applies to
91a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nISliceNumber;               // I frame slice number
92a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nPSliceNumber;               // P frame slice number
93a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli} OMX_VIDEO_CONFIG_INTEL_SLICE_NUMBERS;
94a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
95a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
96a08b0640a5c18bef7ddf8493abb249dc05df2f2fxlitypedef struct OMX_VIDEO_CONFIG_INTEL_AIR {
97a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nSize;                       // Size of the structure
98a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_VERSIONTYPE nVersion;            // OMX specification version
99a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nPortIndex;                  // Port that this structure applies to
100a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_BOOL bAirEnable;                 // Enable AIR
101a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_BOOL bAirAuto;                   // AIR auto
102a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nAirMBs;                     // Number of AIR MBs
103a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli     OMX_U32 nAirThreshold;               // AIR Threshold
104a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
105a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli} OMX_VIDEO_CONFIG_INTEL_AIR;
106a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
1070135424dc0ef82daf136d8d0032a0a95764bab05Weian Chentypedef struct OMX_VIDEO_PARAM_INTEL_AVCVUI {
1080135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nSize;                       // Size of the structure
1090135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_VERSIONTYPE nVersion;            // OMX specification version
1100135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nPortIndex;                  // Port that this structure applies to
1110135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_BOOL  bVuiGeneration;            // Enable/disable VUI generation
1120135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen
1130135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen} OMX_VIDEO_PARAM_INTEL_AVCVUI;
1140135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen
1150135424dc0ef82daf136d8d0032a0a95764bab05Weian Chentypedef struct OMX_VIDEO_PARAM_INTEL_ADAPTIVE_SLICE_CONTROL {
1160135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nSize;                       // Size of the structure
1170135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_VERSIONTYPE nVersion;            // OMX specification version
1180135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nPortIndex;                  // Port that this structure applies to
1190135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_BOOL bEnable;                    // enable adaptive slice control
1200135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nMinPSliceNumber;            // minimum number of P slices
1210135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nNumPFramesToSkip;           // number of P frames after an I frame to skip before kicking in adaptive slice control
1220135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nSliceSizeThreshold;         // Slice size threshold for adaptive slice control to start a new slice
1230135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen     OMX_U32 nSliceSizeSkipThreshold;     // Slice size skip threshold for adaptive slice control to start a new slice
1240135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen} OMX_VIDEO_PARAM_INTEL_ADAPTIVE_SLICE_CONTROL;
1250135424dc0ef82daf136d8d0032a0a95764bab05Weian Chen
1265ab2f45a95344b12cad43f277a730c8679b42171Dan Liang/**
1275ab2f45a95344b12cad43f277a730c8679b42171Dan Liang * Vendor Private Configs
1285ab2f45a95344b12cad43f277a730c8679b42171Dan Liang *
1295ab2f45a95344b12cad43f277a730c8679b42171Dan Liang * STRUCT MEMBERS:
1305ab2f45a95344b12cad43f277a730c8679b42171Dan Liang *  nSize      : Size of the structure in bytes
1315ab2f45a95344b12cad43f277a730c8679b42171Dan Liang *  nVersion   : OMX specification version information
1325ab2f45a95344b12cad43f277a730c8679b42171Dan Liang *  nPortIndex : Port that this structure applies to
1335ab2f45a95344b12cad43f277a730c8679b42171Dan Liang *  nCapacity  : Specifies the private unit size
1345ab2f45a95344b12cad43f277a730c8679b42171Dan Liang *  nHolder    : Pointer to private unit address
1355ab2f45a95344b12cad43f277a730c8679b42171Dan Liang */
1365ab2f45a95344b12cad43f277a730c8679b42171Dan Liangtypedef struct OMX_VIDEO_CONFIG_PRI_INFOTYPE {
1375ab2f45a95344b12cad43f277a730c8679b42171Dan Liang    OMX_U32 nSize;
1385ab2f45a95344b12cad43f277a730c8679b42171Dan Liang    OMX_VERSIONTYPE nVersion;
1395ab2f45a95344b12cad43f277a730c8679b42171Dan Liang    OMX_U32 nPortIndex;
1405ab2f45a95344b12cad43f277a730c8679b42171Dan Liang    OMX_U32 nCapacity;
1415ab2f45a95344b12cad43f277a730c8679b42171Dan Liang    OMX_PTR nHolder;
1425ab2f45a95344b12cad43f277a730c8679b42171Dan Liang} OMX_VIDEO_CONFIG_PRI_INFOTYPE;
1435ab2f45a95344b12cad43f277a730c8679b42171Dan Liang
1449e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang// Error reporting data structure
14564e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liangtypedef struct OMX_VIDEO_CONFIG_INTEL_ERROR_REPORT {
14664e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liang    OMX_U32 nSize;
14764e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liang    OMX_VERSIONTYPE nVersion;
14864e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liang    OMX_U32 nPortIndex;
14964e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liang    OMX_BOOL bEnable;
15064e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liang} OMX_VIDEO_CONFIG_INTEL_ERROR_REPORT;
15164e2d27bd6b5c91266349730c4fe00a9f07bee81Dan Liang
1529e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang#define MAX_ERR_NUM 10
1539e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang
1549e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liangtypedef enum
1559e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang{
1567cc9fbfc0cc668adf018b9d2d3f08c50724903c6Dan Liang    OMX_Decode_HeaderError   = 0,
1579e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    OMX_Decode_MBError       = 1,
1587cc9fbfc0cc668adf018b9d2d3f08c50724903c6Dan Liang    OMX_Decode_SliceMissing  = 2,
1597cc9fbfc0cc668adf018b9d2d3f08c50724903c6Dan Liang    OMX_Decode_RefMissing    = 3,
1609e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang} OMX_VIDEO_DECODE_ERRORTYPE;
1619e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang
1629e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liangtypedef struct OMX_VIDEO_ERROR_INFO {
1639e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    OMX_VIDEO_DECODE_ERRORTYPE type;
1647cc9fbfc0cc668adf018b9d2d3f08c50724903c6Dan Liang    OMX_U32 num_mbs;
1659e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    union {
166553a23247aa6a416f89a51e9d20b1789a63c3d41Weian Chen        struct {OMX_U32 start_mb; OMX_U32 end_mb;} mb_pos;
1679e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    } error_data;
168e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel} OMX_VIDEO_ERROR_INFO;
1699e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang
1709e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liangtypedef struct OMX_VIDEO_ERROR_BUFFER {
1719e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    OMX_U32 errorNumber;   // Error number should be no more than MAX_ERR_NUM
1729e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    OMX_S64 timeStamp;      // presentation time stamp
1739e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang    OMX_VIDEO_ERROR_INFO errorArray[MAX_ERR_NUM];
174e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel} OMX_VIDEO_ERROR_BUFFER;
1759e4c75dcd7ed76ded42f50070946ab2ed793c8ebDan Liang
1767fe59118003a3c624651cf4512fd4251171b9e6aBolun// Force K frame for VP8 encode
1777fe59118003a3c624651cf4512fd4251171b9e6aBoluntypedef struct OMX_VIDEO_CONFIG_INTEL_VP8_FORCE_KFRAME {
1787fe59118003a3c624651cf4512fd4251171b9e6aBolun    OMX_U32 nSize;
1797fe59118003a3c624651cf4512fd4251171b9e6aBolun    OMX_VERSIONTYPE nVersion;
1807fe59118003a3c624651cf4512fd4251171b9e6aBolun    OMX_U32 nPortIndex;
1817fe59118003a3c624651cf4512fd4251171b9e6aBolun    OMX_BOOL bForceKFrame;
1827fe59118003a3c624651cf4512fd4251171b9e6aBolun} OMX_VIDEO_CONFIG_INTEL_VP8_FORCE_KFRAME;
1837fe59118003a3c624651cf4512fd4251171b9e6aBolun
1842fbd2a6c3abf7da5bdc40dc3539dd7bcc515f2e1Liu Bolun// max frame size for VP8 encode during WebRTC feature
185c199545bac9fd97a5a06a6b9cf1160813b7ef753liuboluntypedef struct OMX_VIDEO_CONFIG_INTEL_VP8_MAX_FRAME_SIZE_RATIO {
1862fbd2a6c3abf7da5bdc40dc3539dd7bcc515f2e1Liu Bolun    OMX_U32 nSize;
1872fbd2a6c3abf7da5bdc40dc3539dd7bcc515f2e1Liu Bolun    OMX_VERSIONTYPE nVersion;
1882fbd2a6c3abf7da5bdc40dc3539dd7bcc515f2e1Liu Bolun    OMX_U32 nPortIndex;
189c199545bac9fd97a5a06a6b9cf1160813b7ef753liubolun    OMX_U32 nMaxFrameSizeRatio;
190c199545bac9fd97a5a06a6b9cf1160813b7ef753liubolun} OMX_VIDEO_CONFIG_INTEL_VP8_MAX_FRAME_SIZE_RATIO;
1912fbd2a6c3abf7da5bdc40dc3539dd7bcc515f2e1Liu Bolun
19211aa5d981717852cbdebdd8aab638554bab05ffcbolunliu// temporal layer for Sand
19311aa5d981717852cbdebdd8aab638554bab05ffcbolunliutypedef struct OMX_VIDEO_PARAM_INTEL_TEMPORAL_LAYER {
1947692ea07c8340f27d4b63da5ab46e06b4c6b5df3liubolun    OMX_U32 nSize;
1957692ea07c8340f27d4b63da5ab46e06b4c6b5df3liubolun    OMX_VERSIONTYPE nVersion;
1967692ea07c8340f27d4b63da5ab46e06b4c6b5df3liubolun    OMX_U32 nPortIndex;
1977692ea07c8340f27d4b63da5ab46e06b4c6b5df3liubolun    OMX_U32 nNumberOfTemporalLayer;
19811aa5d981717852cbdebdd8aab638554bab05ffcbolunliu    OMX_U32 nPeriodicity;
19911aa5d981717852cbdebdd8aab638554bab05ffcbolunliu    OMX_U32 nLayerID[32];
20011aa5d981717852cbdebdd8aab638554bab05ffcbolunliu} OMX_VIDEO_PARAM_INTEL_TEMPORAL_LAYER;
2017692ea07c8340f27d4b63da5ab46e06b4c6b5df3liubolun
2022fbd2a6c3abf7da5bdc40dc3539dd7bcc515f2e1Liu Bolun
2030e0c2732815205370638a066fe4f25743310a531Weian Chen// Request OMX to allocate a black frame to video mute feature
2040e0c2732815205370638a066fe4f25743310a531Weian Chentypedef struct OMX_VIDEO_INTEL_REQUEST_BALCK_FRAME_POINTER {
2050e0c2732815205370638a066fe4f25743310a531Weian Chen    OMX_U32 nSize;
2060e0c2732815205370638a066fe4f25743310a531Weian Chen    OMX_VERSIONTYPE nVersion;
2070e0c2732815205370638a066fe4f25743310a531Weian Chen    OMX_U32 nPortIndex;
2080e0c2732815205370638a066fe4f25743310a531Weian Chen    OMX_U32 nFramePointer;
2090e0c2732815205370638a066fe4f25743310a531Weian Chen} OMX_VIDEO_INTEL_REQUEST_BALCK_FRAME_POINTER;
2100e0c2732815205370638a066fe4f25743310a531Weian Chen
211e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel#define OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar (OMX_COLOR_FORMATTYPE)0x7FA00E00
212e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel#define OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar_Tiled (OMX_COLOR_FORMATTYPE)0x7FA00F00
213e0ffba090b9e8249f7e992ab6ec97f88379c9ba3Thierry Strudel
214a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli#ifdef __cplusplus
215a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli}
216a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli#endif /* __cplusplus */
217a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli
218a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli#endif /* OMX_VideoExt_h */
219a08b0640a5c18bef7ddf8493abb249dc05df2f2fxli/* File EOF */
220