1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (c) 2010, Texas Instruments Incorporated 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All rights reserved. 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Redistribution and use in source and binary forms, with or without 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * modification, are permitted provided that the following conditions 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * are met: 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions of source code must retain the above copyright 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer. 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions in binary form must reproduce the above copyright 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer in the 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * documentation and/or other materials provided with the distribution. 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Neither the name of Texas Instruments Incorporated nor the names of 17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * its contributors may be used to endorse or promote products derived 18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * from this software without specific prior written permission. 19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 32c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 33c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* -------------------------------------------------------------------------- */ 34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @file:Omx_ti_video.h 36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * This header defines the structures specific to the param or config indices of Openmax Video Component. 37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @path: 39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * \WTSD_DucatiMMSW\ omx\omx_il_1_x\omx_core\ 40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * -------------------------------------------------------------------------- */ 42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================= 44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! 45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! Revision History 46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! ===================================================================== 47e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen *! 24-Dec-2008 Navneet navneet@ti.com Initial Version 48e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen *! 14-Jul-2009 Radha Purnima radhapurnima@ti.com 49e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen *! 25-Aug-2009 Radha Purnima radhapurnima@ti.com 50e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen *! 16-May-2009 Shivaraj Shetty shettyshivaraj@ti.com 51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * =========================================================================*/ 52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef OMX_TI_VIDEO_H 55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define OMX_TI_VIDEO_H 56c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define H264ENC_MAXNUMSLCGPS 2 57e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define OMXH264E_MAX_SLICE_SUPPORTED 64 58c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <OMX_Core.h> 59c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 60c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 61c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief mode selection for the data that is given to the Codec 62c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 63c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 64c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_DATASYNCMODETYPE { 65c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_FixedLength, //!< Interms of multiples of 4K 66c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_SliceMode, //!< Slice mode 67c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_NumMBRows, //!< Number of rows, each row is 16 lines of video 68c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_EntireFrame //!< Processing of entire frame data 69c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_VIDEO_DATASYNCMODETYPE; 70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 71c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 72c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 74c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_DATAMODE :to configure how the input and output data is fed to the Codec 75c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nPortIndex to specify the index of the port 76c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eDataMode to specify the data mode 77c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_DATASYNCMODETYPE 78c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nNumDataUnits to specify the number of data units (where units are of type defined by eDataMode) 79c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 80c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 81c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_DATASYNCMODETYPE{ 82c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 83c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 84c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 85c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_DATASYNCMODETYPE eDataMode; 86c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nNumDataUnits; 87c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_VIDEO_PARAM_DATASYNCMODETYPE; 88c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 89c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 90c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Aspect Ratio type selection for the encoded bit stream 91c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 92c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_ASPECTRATIOTYPE{ 93c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_Unspecified, //!< Unspecified aspect ratio 94c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_Square , //!< 1:1 (square) aspect ratio 95c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_12_11 , //!< 12:11 aspect ratio 96c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_10_11 , //!< 10:11 aspect ratio 97c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_16_11 , //!< 16:11 aspect ratio 98c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_40_33 , //!< 40:33 aspect ratio 99c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_24_11 , //!< 24:11 aspect ratio 100c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_20_11 , //!< 20:11 aspect ratio 101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_32_11 , //!< 32:11 aspect ratio 102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_80_33 , //!< 80:33 aspect ratio 103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_18_11 , //!< 18:11 aspect ratio 104c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_15_15 , //!< 15:15 aspect ratio 105c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_64_33 , //!< 64:33 aspect ratio 106c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_160_99 , //!< 160:99 aspect ratio 107c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_4_3 , //!< 4:3 aspect ratio 108c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_3_2 , //!< 3:2 aspect ratio 109c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_2_1 , //!< 2:1 aspect ratio 110c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_Extended = 255, //!< Extended aspect ratio 111c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_AR_Extended_MAX = 0X7FFFFFFF 112c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_ASPECTRATIOTYPE; 113c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 114c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 116c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 117c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_VUI_SELECT :to select the VUI Settings 118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param bAspectRatioPresent flag to indicate the insertion of aspect ratio information in VUI part of bit-stream 119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param ePixelAspectRatio to specify the Aspect Ratio 120c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param bFullRange to indicate whether pixel value range is specified as full range or not (0 to 255) 121c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 122c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 123c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_VUIINFOTYPE { 124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 125c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 126c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 127c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAspectRatioPresent; 128c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_ASPECTRATIOTYPE ePixelAspectRatio; 129c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bFullRange; 130c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_VUIINFOTYPE; 131c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 132c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 133c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 134c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_CONFIG_PIXELINFOTYPE :to specify the information related to the input pixel data (aspect ratio & range) to the Codec 135c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev so that codec can incorporate this info in the coded bit stream 136c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nWidth to specify the Aspect ratio: width of the pixel 137c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nHeight to specify the Aspect ratio: height of the pixel 138c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 139c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 140c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_CONFIG_PIXELINFOTYPE { 141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 142c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 143c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 144c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 145c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_VIDEO_CONFIG_PIXELINFOTYPE; 147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE : to configure what NALU need to send along the frames of different types (Intra,IDR...etc) 151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nStartofSequence to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the Start of sequence frame 152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nEndofSequence to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the End of sequence frame 153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nIDR to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the IDR frame 154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nIntraPicture to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the Intra frame 155c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nNonIntraPicture to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the Non Intra frame 156c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 157c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevBit Position: 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0 158c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevNALU TYPE: SPS_VUI|FILLER|EOSTREAM|EOSEQ|AUD|PPS|SPS|SEI|IDR_SLICE|SLICE_DP_C|SLICE_DP_B|SLICE_DP_A|SLICE|UNSPECIFIED \n 159c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 160c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE { 162c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nStartofSequence; 166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nEndofSequence; 167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nIDR; 168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nIntraPicture; 169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nNonIntraPicture; 170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE; 171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_CONFIG_MESEARCHRANGETYPE : to configure Motion Estimation Parameters 176c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eMVAccuracy to specify the Motion Vector Accuracy 177c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_MOTIONVECTORTYPE 178c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param sHorSearchRangeP to Specify the Horizontal Search range for P Frame 179c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param sVerSearchRangeP to Specify the Vertical Search range for P Frame 180c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param sHorSearchRangeB to Specify the Horizontal Search range for B Frame 181c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param sVerSearchRangeB to Specify the Vertical Search range for B Frame 182c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 183c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 184c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_CONFIG_MESEARCHRANGETYPE{ 185c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 186c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 187c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 188c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_MOTIONVECTORTYPE eMVAccuracy; 189c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHorSearchRangeP; 190c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nVerSearchRangeP; 191c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHorSearchRangeB; 192c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nVerSearchRangeB; 193c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_CONFIG_MESEARCHRANGETYPE; 194c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 195c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 196c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Block size specification 197c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 198c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_BLOCKSIZETYPE { 199c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Block_Size_16x16=0, 200c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Block_Size_8x8, 201c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Block_Size_8x4, 202c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Block_Size_4x8, 203c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Block_Size_4x4, 204c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Block_Size_MAX = 0X7FFFFFFF 205c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_BLOCKSIZETYPE; 206c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 207c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 208c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 209c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_PARAM_MEBLOCKSIZETYPE : to configure the Min Motion Estimation block size for P and B frames 210c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eMinBlockSizeP to specify the Min Block size used for Motion Estimation incase of P Frames 211c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_BLOCKSIZETYPE 212c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eMinBlockSizeB to specify the Min Block size used for Motion Estimation incase of B Frames 213c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 214c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 215c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_MEBLOCKSIZETYPE{ 216c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 217c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 218c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 219c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeP; 220c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeB; 221c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_MEBLOCKSIZETYPE; 222c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 223c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 224c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief to select the chroma component used for Intra Prediction 225c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 226c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_CHROMACOMPONENTTYPE { 227c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Chroma_Component_Cr_Only=0, //!< consider only Cr chroma component for Intra prediction 228c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Chroma_Component_Cb_Cr_Both, //!< consider both (Cb & Cr) chroma components for Intra prediction 229c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Chroma_Component_MAX = 0X7FFFFFFF 230c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_CHROMACOMPONENTTYPE; 231c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 232c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 233c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 234c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_PARAM_INTRAPREDTYPE : to configure the Modes for the different block sizes during Intra Prediction 235c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nLumaIntra4x4Enable to configure the Modes for 4x4 block size during luma intra prediction: bit position specifies the modes that are enabled/disabled 236c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev HOR_UP|VERT_LEFT|HOR_DOWN|VERT_RIGHT|DIAG_DOWN_RIGHT|DIAG_DOWN_LEFT|DC|HOR|VER 237c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nLumaIntra8x8Enable to configure the Modes for 4x4 block size during luma intra prediction 238c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev HOR_UP|VERT_LEFT|HOR_DOWN|VERT_RIGHT|DIAG_DOWN_RIGHT|DIAG_DOWN_LEFT|DC|HOR|VER 239c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nLumaIntra16x16Enable to configure the Modes for 4x4 block size during luma intra prediction 240c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev PLANE|DC|HOR|VER 241c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nChromaIntra8x8Enable to configure the Modes for 4x4 block size during luma intra prediction 242c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev PLANE|DC|HOR|VER 243c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eChromaComponentEnable to select the chroma components used for the intra prediction 244c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_CHROMACOMPONENTTYPE 245c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 246c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 247c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_INTRAPREDTYPE{ 248c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 249c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 250c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 251c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nLumaIntra4x4Enable; 252c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nLumaIntra8x8Enable; 253c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nLumaIntra16x16Enable; 254c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nChromaIntra8x8Enable; 255c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_CHROMACOMPONENTTYPE eChromaComponentEnable; 256c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_INTRAPREDTYPE; 257c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 258c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 259c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 260c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Encoding Mode Preset 261c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 262c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_ENCODING_MODE_PRESETTYPE { 263c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_Default=0, //!< for all the params default values are taken 264c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_High_Quality, //!< todo: mention the parameters that takes specific values depending on this selection 265c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_User_Defined, 266c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_High_Speed_Med_Quality, 267c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_Med_Speed_Med_Quality, 268c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_Med_Speed_High_Quality, 269c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_High_Speed, 270c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Enc_Preset_MAX = 0X7FFFFFFF 271c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_ENCODING_MODE_PRESETTYPE; 272c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 273c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 274c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Rate Control Preset 275c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 276c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_RATECONTROL_PRESETTYPE { 277c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_RC_Low_Delay, //!<todo: mention the parameters that takes specific values depending on this selection 278c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_RC_Storage, 279c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_RC_Twopass, 280c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_RC_None, 281c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_RC_User_Defined, 282c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_RC_MAX = 0X7FFFFFFF 283c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_RATECONTROL_PRESETTYPE; 284c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 285c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 286c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 287c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_PARAM_ENCODER_PRESETTYPE : to select the preset for Encoding Mode & Rate Control 288c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eEncodingModePreset to specify Encoding Mode Preset 289c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_ENCODING_MODE_PRESETTYPE 290c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eRateControlPreset to specify Rate Control Preset 291c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_RATECONTROL_PRESETTYPE 292c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 293c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 294c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_ENCODER_PRESETTYPE{ 295c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 296c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 297c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 298c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_ENCODING_MODE_PRESETTYPE eEncodingModePreset; 299c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_RATECONTROL_PRESETTYPE eRateControlPreset; 300c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_ENCODER_PRESETTYPE; 301c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 302c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 303c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 304c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief input content type 305c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 306c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_VIDEO_FRAMECONTENTTYPE { 307c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Progressive = 0, //!<Progressive frame 308c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_BothFieldsTogether = 1, //!<Interlaced frame 309c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_OneField = 2, 310c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_AVC_2004_StereoInfoType = 3, 311c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_AVC_2010_StereoFramePackingType = 4, 312c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FrameContentType_MAX = 0x7FFFFFFF 313c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_VIDEO_FRAMECONTENTTYPE; 314c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 315c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 316c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Specifies the type of interlace content 317c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 318c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_VIDEO_AVC_INTERLACE_CODINGTYPE { 319c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_PICAFF = 0, //!< PicAFF type of interlace coding 320c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_MBAFF, //!< MBAFF type of interlace coding 321c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_Fieldonly, //!< Field only coding 322c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_Fieldonly_MRF=OMX_TI_Video_Interlace_Fieldonly, 323c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_Fieldonly_ARF, 324c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_Interlace_Fieldonly_SPF, //!< Field only coding where codec decides the partiy of the field to be used based upon content 325c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Interlace_MAX = 0x7FFFFFFF 326c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_VIDEO_AVC_INTERLACE_CODINGTYPE; 327c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 328c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 329c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 330c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE : to configure the data content 331c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eContentType to specify Content type 332c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_FRAMECONTENTTYPE 333c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 334c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 335c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE{ 336c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 337c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 338c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 339c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_FRAMECONTENTTYPE eContentType; 340c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE; 341c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 342c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 343c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 344c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_AVCINTERLACECODING : to configure the interlace encoding related settings 345c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eInterlaceCodingType to specify the settings of interlace content 346c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_INTERLACE_CODINGTYPE 347c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param bTopFieldFirst to specify the first field sent is top or bottom 348c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param bBottomFieldIntra to specify codec that encode bottomfield also as intra or not 349c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 350c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 351c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_PARAM_AVCINTERLACECODING{ 352c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 353c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 354c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 355c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_AVC_INTERLACE_CODINGTYPE eInterlaceCodingType; 356c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bTopFieldFirst; 357c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bBottomFieldIntra; 358c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_VIDEO_PARAM_AVCINTERLACECODING; 359c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 360c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 361c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_AVCENC_STEREOINFO2004 : to configure the 2004 related stereo information type 362c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 363c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 364c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 365c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_PARAM_AVCENC_STEREOINFO2004 366c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 367c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 368c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 369c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 370c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL btopFieldIsLeftViewFlag; 371c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bViewSelfContainedFlag; 372c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_AVCENC_STEREOINFO2004; 373c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 374c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_VIDEO_AVCSTEREO_FRAMEPACKTYPE{ 375c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_CHECKERBOARD = 0, 376c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_COLUMN_INTERLEAVING = 1, 377c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_ROW_INTERLEAVING = 2, 378c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_SIDE_BY_SIDE = 3, 379c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_TOP_BOTTOM = 4, 380c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_TYPE_DEFAULT = OMX_TI_Video_FRAMEPACK_SIDE_BY_SIDE, 381c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Video_FRAMEPACK_TYPE_MAX = 0x7FFFFFFF 382c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_AVCSTEREO_FRAMEPACKTYPE; 383c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 384c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 385c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 386c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010 : to configure the 2010 related stereo information type 387c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 388c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 389c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 390c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010 391c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 392c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 393c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 394c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 395c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_AVCSTEREO_FRAMEPACKTYPE eFramePackingType; 396c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame0PositionX; 397c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame0PositionY; 398c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame1PositionX; 399c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame1PositionY; 400c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010; 401c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 402c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 403c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Specifies Transform Block Size 404c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 405c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_TRANSFORMBLOCKSIZETYPE { 406c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Transform_Block_Size_4x4 =0, //!< Transform blocks size is 8x8 : Valid for only High Profile 407c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Transform_Block_Size_8x8, //!< Transform blocks size is 4x4 408c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Transform_Block_Size_Adaptive, //!< Adaptive transform block size : encoder decides as per content 409c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Transform_Block_Size_MAX = 0X7FFFFFFF 410c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_TRANSFORMBLOCKSIZETYPE; 411c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 412c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 413c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 414c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE : to select the Block Size used for transformation 415c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eTransformBlocksize to specify Block size used for transformation 416c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_TRANSFORMBLOCKSIZETYPE 417c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 418c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 419c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 420c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE{ 421c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 422c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 423c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 424c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_TRANSFORMBLOCKSIZETYPE eTransformBlocksize; 425c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE; 426c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 427c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 428c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 429c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 430c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_VIDEO_CONFIG_SLICECODINGTYPE : to configure the Slice Settings 431c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eSliceMode to specify the Slice mode 432c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @sa OMX_VIDEO_AVCSLICEMODETYPE 433c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nSlicesize to specify the sliceSize 434c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 435c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 436c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 437c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_CONFIG_SLICECODINGTYPE{ 438c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 439c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 440c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 441c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; 442c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSlicesize; 443c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_CONFIG_SLICECODINGTYPE; 444c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 445c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 446c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Specifies Slice Group Change Direction Flag 447c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 448c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEO_SLIGRPCHANGEDIRTYPE{ 449c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Raster_Scan = 0 , //!< 0 : Raster scan order 450c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Clockwise = 0 , //!< 0 : Clockwise (used for BOX OUT FMO Params) 451c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Right = 0 , //!< 0 : RIGHT (Used for Wipe FMO type) 452c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Reverse_Raster_Scan= 1 , //!< 1 : Reverse Raster Scan Order 453c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Counter_Clockwise = 1 , //!< 1 : Counter Clockwise (used for BOX OUT FMO Params) 454c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Left = 1, //!< 1 : LEFT (Used for Wipe FMO type) 455c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Video_Left_MAX = 0X7FFFFFFF 456c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_VIDEO_SLICEGRPCHANGEDIRTYPE; 457c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 458c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 459c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 460c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_FMO_ADVANCEDSETTINGS : to configure the FMO Settings 461c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param 462c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 463c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 464c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_PARAM_AVCADVANCEDFMOTYPE{ 465c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 466c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 467c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 468c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nNumSliceGroups; 469c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nSliceGroupMapType; 470c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_SLICEGRPCHANGEDIRTYPE eSliceGrpChangeDir; 471c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSliceGroupChangeRate; 472c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSliceGroupChangeCycle; 473c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSliceGroupParams[H264ENC_MAXNUMSLCGPS] ; 474c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_PARAM_AVCADVANCEDFMOTYPE; 475c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 476c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 477c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 478c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_CONFIG_QPSETTINGS : to configure the Qp Settings of I, P &B Frames 479c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nQpI 480c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 481c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 482c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 483c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_CONFIG_QPSETTINGSTYPE{ 484c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 485c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 486c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 487c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpI; 488c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpMaxI; 489c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpMinI; 490c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpP; 491c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpMaxP; 492c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpMinP; 493c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpOffsetB; 494c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpMaxB; 495c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQpMinB; 496c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEO_CONFIG_QPSETTINGSTYPE; 497c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 498c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 499c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 500c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING : to configure the HRD 501c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev (Hypothetical Reference Decoder) related params 502c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nInitialBufferLevel Initial buffer level for HRD compliance 503c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nHRDBufferSize Hypothetical Reference Decoder buffer size 504c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nTargetBitrate Target bitrate to encode with 505c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 506c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 507c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 508c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING { 509c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 510c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 511c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 512c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nInitialBufferLevel; 513c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHRDBufferSize; 514c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nTargetBitrate; 515c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING; 516c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 517c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 518c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 519c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING : to configure the HRD 520c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev (Hypothetical Reference Decoder) related params 521c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nHRDBufferSize Hypothetical Reference Decoder Buffer Size 522c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nEncodeBitrate Target bitrate to encode with 523c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 524c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 525c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 526c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 527c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING { 528c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 529c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 530c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 531c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHRDBufferSize; 532c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nEncodeBitrate; 533c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING; 534c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 535c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================= */ 536c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 537c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_CODINGTYPE : 538c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev Extension to video coding type enum for VP6 and VP7 539c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param 540c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 541c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 542c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 543c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_VIDEO_CODINGTYPE { 544c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_CodingVP6 = 545c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev (OMX_VIDEO_CODINGTYPE) OMX_VIDEO_CodingVendorStartUnused +1, /* VP6 */ 546c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEO_CodingVP7, /* VP7 */ 547e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_CodingSORENSONSPK, /* Sorenson spark*/ 548e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_CodingSVC, /**< H.264/SVC */ 549e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_CodingVP8 /* VP8 */ 550c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_VIDEO_CODINGTYPE; 551c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 552c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 553c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================= */ 554c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 555c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_MPEG4LEVELTYPE: 556c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev Extension to MPEG-4 level to cater to level 6 557c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param 558c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 559c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 560c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_VIDEO_MPEG4LEVELTYPE { 561c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_MPEG4Level6 = 562c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev (OMX_VIDEO_MPEG4LEVELTYPE) OMX_VIDEO_MPEG4LevelVendorStartUnused + 1 563c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_MPEG4LEVELTYPE; 564c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 565c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 566c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 567c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 568c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @brief Specifies various intra refresh methods 569c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 570c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_VIDEO_INTRAREFRESHTYPE { 571c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_IntraRefreshNone = 0, 572c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_IntraRefreshCyclicMbs, 573c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_IntraRefreshCyclicRows, 574c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_IntraRefreshMandatory, 575c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_IntraRefreshMax = 0x7FFFFFFF 576c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_INTRAREFRESHTYPE; 577c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 578c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 579c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 580c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 581c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE : Configuration parameters for 582c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev intra refresh settings 583c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param eRefreshMode Various refresh modes supported 584c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nIntraRefreshRate Intra refresh rate 585c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 586c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ==========================================================================*/ 587c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 588c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE { 589c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 590c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 591c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 592c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_VIDEO_INTRAREFRESHTYPE eRefreshMode; 593c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nIntraRefreshRate; 594c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE; 595c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 596c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 597c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ============================================================================= */ 598c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 599c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_STEREODECINFO : Structure to access 2004 SEI message generated by 600c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev H264 decoder as metatadata on its output port. 601c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 602c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ============================================================================= */ 603c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 604c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_STEREODECINFO { 605c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFieldViewsFlag; 606c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nTopFieldIsLeftViewFlag; 607c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nCurrentFrameIsLeftViewFlag; 608c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nNextFrameIsSecondViewFlag; 609c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nLeftViewSelfContainedFlag; 610c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nRightViewSelfContainedFlag; 611c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_STEREODECINFO; 612c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 613c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_FRAMEPACKINGDECINFO { 614c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFramePackingArrangementId; 615c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFramePackingArrangementRepetitionPeriod; 616c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFramePackingArrangementCancelFlag; 617c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFramePackingArrangementType; 618c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nQuincunxSamplingFlag; 619c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nContentInterpretationType; 620c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nSpatialFlippingFlag; 621c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame0FlippedFlag; 622c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFieldViewsFlag; 623c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nCurrentFrameIsFrame0Flag; 624c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame0SelfContainedFlag; 625c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame1SelfContainedFlag; 626c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame0GridPositionX; 627c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame0GridPositionY; 628c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame1GridPositionX; 629c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFrame1GridPositionY; 630c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFramePackingArrangementReservedByte; 631c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFramePackingArrangementExtensionFlag; 632c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_FRAMEPACKINGDECINFO; 633c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 634c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ============================================================================= */ 635c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 636c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_RANGEMAPPING : Structure to access luma and chroma range 637c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev mapping generated by decoders as 638c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev metatadata on its output port. 639c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nRangeMappingLuma Luma scale factor for range mapping. 640c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nRangeMappingChroma Chroma scale factor for range mapping. 641c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 642c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ============================================================================= */ 643c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 644c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_RANGEMAPPING { 645c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nRangeMappingLuma; 646c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nRangeMappingChroma; 647c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_RANGEMAPPING; 648c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 649c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ============================================================================= */ 650c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 651c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_VIDEO_RESCALINGMATRIX : Structure to access rescaled 652c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev width/height generated by decoders 653c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev as metatadata on its output port. 654c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nScaledHeight Scaled image width for post processing for decoder. 655c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param nScaledWidth Scaled image height for post processing for decoder. 656c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 657c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ============================================================================= */ 658c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 659c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VIDEO_RESCALINGMATRIX { 660c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nScaledHeight; 661c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nScaledWidth; 662c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VIDEO_RESCALINGMATRIX; 663c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 664c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 665c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*==========================================================================*/ 666c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 667c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @brief OMX_TI_PARAM_PAYLOADHEADERFLAG : To specify the payload headerflag 668c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev for VP6/VP7 decoder. 669c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev @param bPayloadHeaderFlag Flag - TRUE indicates that frame length and 670c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev timestamp(for IVF format) will be part of 671c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev frame input buffer. 672c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev Flag - FALSE indecates that frame length and 673c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev timestamp(for IVF format) will not be part of 674c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev the input buffer. 675c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 676c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*==========================================================================*/ 677c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 678c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_PARAM_PAYLOADHEADERFLAG { 679c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 680c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 681c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bPayloadHeaderFlag; 682c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_PARAM_PAYLOADHEADERFLAG; 683c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 684c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 685c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*==========================================================================*/ 686c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*! 687c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev@brief OMX_TI_PARAM_IVFFLAG : Suport added to handle IVF header Decoding Mode 688c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev@param bIvfFlag TRUE enables IVF decoding mode. 689c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev FALSE indicates bitstream format is non-IVF. 690c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 691c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*==========================================================================*/ 692c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 693c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_PARAM_IVFFLAG { 694c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 695c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 696c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bIvfFlag; 697c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_PARAM_IVFFLAG; 698c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 699c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// A pointer to this struct is passed to OMX_SetParameter() when the extension 700c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// index "OMX.google.android.index.storeMetaDataInBuffers" 701c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// is given. 702c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// 703c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// When meta data is stored in the video buffers passed between OMX clients 704c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// and OMX components, interpretation of the buffer data is up to the 705c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// buffer receiver, and the data may or may not be the actual video data, but 706c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// some information helpful for the receiver to locate the actual data. 707c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// The buffer receiver thus needs to know how to interpret what is stored 708c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// in these buffers, with mechanisms pre-determined externally. How to 709c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// interpret the meta data is outside of the scope of this method. 710c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// 711c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// Currently, this is specifically used to pass meta data from video source 712c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// (camera component, for instance) to video encoder to avoid memcpying of 713c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// input video frame data. To do this, bStoreMetaDta is set to OMX_TRUE. 714c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// If bStoreMetaData is set to false, real YUV frame data will be stored 715c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// in the buffers. In addition, if no OMX_SetParameter() call is made 716c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// with the corresponding extension index, real YUV data is stored 717c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev// in the buffers. 718c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_VIDEO_STOREMETADATAINBUFFERSPARAMS { 719c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 720c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 721c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 722c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bStoreMetaData; 723c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_VIDEO_STOREMETADATAINBUFFERSPARAMS; 724c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 725e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 726e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 727e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Interlaced Video Content format 728e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 729e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 730e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 731e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 732e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 733e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nFormat : bitmapped value indentifying the interlaced formats supported by component 734e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nTimeStamp : temporal timestamp information for the second field 735e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 736e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_INTERLACEFORMATTYPE { 737e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 738e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 739e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 740e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFormat; 741e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TICKS nTimeStamp; 742e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_INTERLACEFORMATTYPE; 743e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 744e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 745e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Interlace format types 746e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 747e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_INTERLACETYPE { 748e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceFrameProgressive= 0x00, 749e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceInterleaveFrameTopFieldFirst= 0x01, 750e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceInterleaveFrameBottomFieldFirst= 0x02, 751e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceFrameTopFieldFirst= 0x04, 752e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceFrameBottomFieldFirst= 0x08, 753e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceInterleaveFieldTop= 0x10, 754e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceInterleaveFieldBottom= 0x20, 755e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_InterlaceFmtMask= 0x7FFFFFFF 756e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_INTERLACETYPE; 757e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 758e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 759e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * To query if the stream contains interlaced or progressive conten 760e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 761e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 762e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 763e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 764e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 765e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bInterlaceFormat : whether the stream contains interlace or progressive content 766e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * OMX_TRUE indicates interlace and OMX_FALSE indicates progressive 767e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nInterlaceFormats : bitmapped value identifying the interlace formats detected within the stream 768e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 769e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_STREAMINTERLACEFORMATTYPE { 770e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 771e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 772e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 773e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bInterlaceFormat; 774e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nInterlaceFormats; 775e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_STREAMINTERLACEFORMAT; 776e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 777e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 778e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_CONFIG_PICSIZECONTROLINFO : Structure to provide the configuration to compute min and max picture size 779e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param minPicSizeRatio : This ratio is used to compute minimum picture size in the following manner, 780e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. ChenminPicSize = averagePicSize >> minPicSizeRatio. Allowed values are 1 to 4. Setting this to 0 will enable encoder chosen ratio. 781e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param maxPicSizeRatio : This ratio is used to compute maximum picture size in the following manner, 782e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. ChenmaxPicSize = averagePicSize * maxPicSizeRatio. Allowed values are 2 to 30. Setting this to 0 or 1 will enable encoder chosen ratio. 783e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 784e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 785e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_CONFIG_PICSIZECONTROLINFO { 786e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 787e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 788e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 789e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 minPicSizeRatio; 790e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 maxPicSizeRatio; 791e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_CONFIG_PICSIZECONTROLINFO; 792e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 793e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 794e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/*!====================================================================! 795e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 796e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen Currently we only support SVC baseline profile 797e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 798e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * !====================================================================!*/ 799e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef enum OMX_TI_VIDEO_SVCPROFILETYPE { 800e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCProfileBaseline = 0x01, /**< Baseline profile */ 801e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCProfileHigh = 0x02, /**< High profile */ 802e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCProfileHighIntra = 0x03, /**< High Intra profile */ 803e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCProfileMax = 0x7FFFFFFF 804e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_VIDEO_SVCPROFILETYPE; 805e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 806e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 807e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/*!====================================================================! 808e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 809e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen Currently we support only SVC baseline profile upto level 4 for SVC encoder. 810e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 811e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * !====================================================================!*/ 812e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef enum OMX_TI_VIDEO_SVCLEVELTYPE { 813e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel1 = 0x01, /**< Level 1 */ 814e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel1b = 0x02, /**< Level 1b */ 815e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel11 = 0x04, /**< Level 1.1 */ 816e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel12 = 0x08, /**< Level 1.2 */ 817e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel13 = 0x10, /**< Level 1.3 */ 818e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel2 = 0x20, /**< Level 2 */ 819e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel21 = 0x40, /**< Level 2.1 */ 820e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel22 = 0x80, /**< Level 2.2 */ 821e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel3 = 0x100, /**< Level 3 */ 822e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel31 = 0x200, /**< Level 3.1 */ 823e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel32 = 0x400, /**< Level 3.2 */ 824e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel4 = 0x800, /**< Level 4 */ 825e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel41 = 0x1000, /**< Level 4.1 */ 826e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel42 = 0x2000, /**< Level 4.2 */ 827e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel5 = 0x4000, /**< Level 5 */ 828e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevel51 = 0x8000, /**< Level 5.1 */ 829e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVCLevelMax = 0x7FFFFFFF 830e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_VIDEO_SVCLEVELTYPE; 831e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 832e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 833e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_STD_PARAMS { 834e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSliceHeaderSpacing; 835e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPFrames; 836e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nBFrames; 837e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bUseHadamard; 838e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nRefFrames; 839e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nRefIdx10ActiveMinus1; 840e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nRefIdx11ActiveMinus1; 841e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableUEP; 842e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Not needed as per SVC encoder requirements 843e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableFMO; 844e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableASO; 845e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableRS; 846e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 847e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode; 848e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAllowedPictureTypes; 849e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bFrameMBsOnly; 850e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bMBAFF; 851e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEntropyCodingCABAC; 852e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bWeightedPPrediction; 853e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWeightedBipredicitonMode; 854e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bconstIpred; 855e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bDirect8x8Inference; 856e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bDirectSpatialTemporal; 857e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nCabacInitIdc; 858e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_STD_PARAMS; 859e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 860e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 861e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_RECTTYPE { 862e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; 863e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; 864e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; 865e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; 866e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_RECTTYPE; 867e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 868e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 869e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_BITRATETYPE { 870e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_CONTROLRATETYPE eControlRate; 871e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nTargetBitrate; 872e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_BITRATETYPE; 873e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 874e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 875e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_MOTIONVECTORTYPE { 876e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_MOTIONVECTORTYPE eAccuracy; 877e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bUnrestrictedMVs; 878e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bFourMV; 879e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 sXSearchRange; 880e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 sYSearchRange; 881e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_MOTIONVECTORTYPE; 882e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 883e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 884e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_QUANTIZATIONTYPE { 885e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpI; 886e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpP; 887e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpB; 888e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_QUANTIZATIONTYPE; 889e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 890e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 891e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_INTRAREFRESHTYPE { 892e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode; 893e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAirMBs; 894e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAirRef; 895e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nCirMBs; 896e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_INTRAREFRESHTYPE; 897e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 898e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 899e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_VBSMCTYPE { 900e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b16x16; 901e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b16x8; 902e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b8x16; 903e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b8x8; 904e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b8x4; 905e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b4x8; 906e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL b4x4; 907e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_VBSMCTYPE; 908e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 909e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 910e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_NALUCONTROLTYPE { 911e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nStartofSequence; 912e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nEndofSequence; 913e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nIDR; 914e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nIntraPicture; 915e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNonIntraPicture; 916e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_NALUCONTROLTYPE; 917e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 918e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 919e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_MEBLOCKSIZETYPE { 920e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeP; 921e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeB; 922e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_MEBLOCKSIZETYPE; 923e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 924e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 925e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_INTRAPREDTYPE { 926e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLumaIntra4x4Enable; 927e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLumaIntra8x8Enable; 928e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLumaIntra16x16Enable; 929e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nChromaIntra8x8Enable; 930e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_CHROMACOMPONENTTYPE eChromaComponentEnable; 931e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_INTRAPREDTYPE; 932e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 933e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 934e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_ENCODER_PRESETTYPE { 935e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_ENCODING_MODE_PRESETTYPE eEncodingModePreset; 936e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_RATECONTROL_PRESETTYPE eRateControlPreset; 937e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_ENCODER_PRESETTYPE; 938e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 939e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 940e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_VUIINFOTYPE { 941e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bAspectRatioPresent; 942e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_ASPECTRATIOTYPE ePixelAspectRatio; 943e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bFullRange; 944e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_VUIINFOTYPE; 945e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 946e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 947e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_HRDBUFFERSETTING { 948e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nInitialBufferLevel; 949e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHRDBufferSize; 950e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nTargetBitrate; 951e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_HRDBUFFERSETTING; 952e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 953e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 954e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_INTRAPERIOD { 955e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nIDRPeriod; 956e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPFrames; 957e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_INTRAPERIOD; 958e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 959e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 960e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_PIXELINFOTYPE { 961e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; 962e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; 963e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_VIDEO_SVC_PIXELINFOTYPE; 964e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 965e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 966e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_MESEARCHRANGETYPE { 967e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_MOTIONVECTORTYPE eMVAccuracy; 968e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHorSearchRangeP; 969e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nVerSearchRangeP; 970e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHorSearchRangeB; 971e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nVerSearchRangeB; 972e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_MESEARCHRANGETYPE; 973e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 974e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 975e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_QPSETTINGSTYPE { 976e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpI; 977e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpMaxI; 978e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpMinI; 979e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpP; 980e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpMaxP; 981e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpMinP; 982e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpOffsetB; 983e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpMaxB; 984e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nQpMinB; 985e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_QPSETTINGSTYPE; 986e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 987e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 988e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_SVC_SLICECODINGTYPE { 989e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; 990e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSlicesize; 991e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_SVC_SLICECODINGTYPE; 992e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 993e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 994e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_VIDEO_EXEC_SVC_HRDBUFFERSETTING { 995e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHRDBufferSize; 996e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nEncodeBitrate; 997e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_VIDEO_EXEC_SVC_HRDBUFFERSETTING; 998e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 999e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1000e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * SVC params 1001e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1002e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 1003e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 1004e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 1005e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 1006e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSliceHeaderSpacing : Number of macroblocks between slice header, put 1007e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * zero if not used 1008e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPFrames : Number of P frames between each I frame 1009e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nBFrames : Number of B frames between each I frame 1010e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bUseHadamard : Enable/disable Hadamard transform 1011e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nRefFrames : Max number of reference frames to use for inter 1012e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * motion search (1-16) 1013e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nRefIdxTrailing : Pic param set ref frame index (index into ref 1014e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame buffer of trailing frames list), B frame 1015e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * support 1016e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nRefIdxForward : Pic param set ref frame index (index into ref 1017e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame buffer of forward frames list), B frame 1018e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * support 1019e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bEnableUEP : Enable/disable unequal error protection. This 1020e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is only valid of data partitioning is enabled. 1021e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bEnableFMO : Enable/disable flexible macroblock ordering 1022e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bEnableASO : Enable/disable arbitrary slice ordering 1023e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bEnableRS : Enable/disable sending of redundant slices 1024e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eProfile : AVC profile(s) to use 1025e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eLevel : AVC level(s) to use 1026e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nAllowedPictureTypes : Specifies the picture types allowed in the 1027e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bitstream 1028e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bFrameMBsOnly : specifies that every coded picture of the 1029e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded video sequence is a coded frame 1030e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * containing only frame macroblocks 1031e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bMBAFF : Enable/disable switching between frame and 1032e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * field macroblocks within a picture 1033e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bEntropyCodingCABAC : Entropy decoding method to be applied for the 1034e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * syntax elements for which two descriptors appear 1035e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in the syntax tables 1036e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bWeightedPPrediction : Enable/disable weighted prediction shall not 1037e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * be applied to P and SP slices 1038e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nWeightedBipredicitonMode : Default weighted prediction is applied to B 1039e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * slices 1040e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bconstIpred : Enable/disable intra prediction 1041e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bDirect8x8Inference : Specifies the method used in the derivation 1042e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * process for luma motion vectors for B_Skip, 1043e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * B_Direct_16x16 and B_Direct_8x8 as specified 1044e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in subclause 8.4.1.2 of the AVC spec 1045e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bDirectSpatialTemporal : Flag indicating spatial or temporal direct 1046e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * mode used in B slice coding (related to 1047e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bDirect8x8Inference) . Spatial direct mode is 1048e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * more common and should be the default. 1049e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nCabacInitIdx : Index used to init CABAC contexts 1050e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eLoopFilterMode : Enable/disable loop filter 1051e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1052e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_VIDEO_PARAM_SVCTYPE { 1053e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1054e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1055e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1056e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1057e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nActualFrameWidth; 1058e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nActualFrameHeight; 1059e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nStride; 1060e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 xFramerate; 1061e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_COLOR_FORMATTYPE eColorFormat; 1062e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_RECTTYPE sRecType; 1063e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1064e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_STD_PARAMS sBasicParams; 1065e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1066e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nRefFrames; 1067e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_SVCPROFILETYPE eProfile; 1068e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_SVCLEVELTYPE eLevel; 1069e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1070e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 xEncodeFramerate; 1071e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_BITRATETYPE sBitRateParams; 1072e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1073e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_MOTIONVECTORTYPE sMotionVectorParams; 1074e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_QUANTIZATIONTYPE sQuantizationParams; 1075e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_INTRAREFRESHTYPE sIntraRefreshParams; 1076e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_VBSMCTYPE sVBSMCParams; 1077e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1078e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen //OMX_NALUFORMATSTYPE eNaluFormat; 1079e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_NALUCONTROLTYPE sNalUnitParams; 1080e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1081e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_MEBLOCKSIZETYPE sMEBlockSizeParams; 1082e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_INTRAPREDTYPE sIntraPredParams; 1083e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_ENCODER_PRESETTYPE sEncPresetParams; 1084e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_TRANSFORMBLOCKSIZETYPE eTransformBlocksize; 1085e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_VUIINFOTYPE sVUIInfoParams; 1086e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_SVC_HRDBUFFERSETTING sHRDBufferParams; 1087e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1088e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNumTemporalLayers; 1089e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nDependencyID; 1090e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nQualityID; 1091e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen //OMX_VIDEO_SVC_ENCODE_MODE eModeOfEncode; 1092e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1093e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nErrorConcealmentMode; 1094e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDeblockFilterMode; 1095e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_VIDEO_PARAM_SVCTYPE; 1096e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1097e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_VIDEO_CONFIG_SVCLAYERDETAILS { 1098e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1099e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1100e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1101e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1102e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNumLayers; 1103e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLayerId; 1104e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nPriorityId; 1105e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nDependencyId; 1106e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nQualityId; 1107e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nTemporalId; 1108e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nBitrateInfoPresentFlag; 1109e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nFramerateInfoPresentFlag; 1110e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nFramesizeInfoPresentFlag; 1111e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nAvgBitrate; 1112e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nMaxBitrate; 1113e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nAvgFramerate; 1114e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFrameWidth; 1115e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFrameHeight; 1116e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1117e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLayerIndex; /* Used to query for individual layer details */ 1118e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1119e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_CONFIG_SVCLAYERDETAILS; 1120e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1121e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_CONFIG_SVCTARGETLAYER { 1122e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1123e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1124e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1125e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1126e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSvcTargetLayerDID; 1127e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSvcTargetLayerTID; 1128e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSvcTargetLayerQID; 1129e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1130e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_CONFIG_SVCTARGETLAYER; 1131e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ========================================================================== */ 1132e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/*! 1133e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_SLICEDATAINFO : to configure the Slice Settings 1134e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param nNumofSlices number of validfields to be read 1135e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param nSliceSizeConfigured variable that indicates the MaxSlice configured 1136e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen & (n*nSliceSizeConfigured) gives the buff offset 1137e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen for nth slice in the o/p buffer 1138e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param nSliceSize gives the SliceSize 1139e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1140e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ==========================================================================*/ 1141e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_SLICEDATAINFO { 1142e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNumofSlices; 1143e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSliceSizeConfigured; 1144e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSliceSize[OMXH264E_MAX_SLICE_SUPPORTED]; 1145e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_SLICEDATAINFO; 1146e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1147e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @brief mode selection for the data that is given to the Codec 1148e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1149e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1150e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum _OMX_VIDEO_AVCLTRMODE { 1151e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_H264ENC_LTRP_NONE = 0, 1152e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< No longterm refernce frame in the sequnce 1153e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1154e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_H264ENC_LTRP_REFERTOIDR = 1, 1155e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< Mark all the I frames as long term-reference frames and 1156e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * based on the frame control IH264ENC_Control, refere to 1157e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * a long-term reference frame (I frame). 1158e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1159e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_H264ENC_LTRP_REFERTOP_PROACTIVE =2, 1160e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< Two long term frames are supported in this schme and 1161e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * long-term index marking and refernce frame update is done based 1162e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the IH264ENC_Control values 1163e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1164e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_H264ENC_LTRP_REFERTOP_REACTIVE = 3 1165e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< This is not supported in the current version of encoder 1166e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1167e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_VIDEO_AVCLTRMODE; 1168e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1169e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1170e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1171e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1172e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_PARAM_AVC_LTRP : Structure to enable the configuration of Long Term reference Picture feature in H264 Encoder for the session 1173e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. ChenEnabling this parameter will instruct encoder to keep its recent I/IDR frame in its reference buffer list. 1174e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. ChenSo it increases the DDR foot print by one frame buffer 1175e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param eLTRMode : enables the LongTerm Reference Picture, possible modes: 0, 1, 2 1176e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param nLTRInterval : interval of the write indicating to codec interms of the frame number 1177e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1178e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1179e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_PARAM_AVC_LTRP{ 1180e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1181e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1182e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1183e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VIDEO_AVCLTRMODE eLTRMode; 1184e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLTRInterval; 1185e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_PARAM_AVC_LTRP; 1186e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1187e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1188e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_CONFIG_AVC_LTRP : Structure to provide the configuration to acknowledge successful decode of previous LTR 1189e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param eLTRFrameDecoded : tells the decoder that the LTR has been decoded successfully when set to TRUE 1190e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1191e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1192e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_CONFIG_AVC_LTRP{ 1193e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1194e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1195e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1196e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableNextLTR; 1197e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_CONFIG_AVC_LTRP; 1198e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1199e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1200e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1201e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL : Structure to enable the update of the LTRP 1202e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. ChenInterval during runtime 1203e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param nLTRInterval : interval of the write indicating to codec interms of the frame number 1204e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1205e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1206e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL{ 1207e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1208e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1209e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1210e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLTRInterval; 1211e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL; 1212e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1213e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1214e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1215e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL : Structure to enable timestamps in decode order 1216e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen at i/p of decoders. 1217e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1218e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1219e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_TIMESTAMP_IN_DECODE_ORDER{ 1220e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1221e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1222e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnabled; 1223e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_TIMESTAMP_IN_DECODE_ORDER; 1224e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1225e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1226e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1227e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_VIDEO_PARAM_AUTO_FRAMERATE_UPDATE : Structure to enable dynamic update of frame rate 1228e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1229e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1230e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_PARAM_AUTO_FRAMERATE_UPDATE { 1231e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1232e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1233e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1234e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableAutoVFRUpdate; 1235e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDiffThresholdtoUpdate; 1236e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nMaxSessionFrameRate; 1237e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_PARAM_AUTO_FRAMERATE_UPDATE; 1238e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1239e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1240e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1241e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_PARAM_SKIP_GREY_OUTPUT_FRAMES : Structure to enable feature to skip grey output 1242e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen frames which doesn't have proper reference. 1243e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1244e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1245e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_SKIP_GREY_OUTPUT_FRAMES { 1246e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1247e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1248e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnabled; 1249e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_SKIP_GREY_OUTPUT_FRAMES; 1250e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1251e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1252e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1253e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_PARAM_DECMETADATA : Structure to enable different codec metadata 1254e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen for video decoders. 1255e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1256e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* ============================================================================= */ 1257e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_DECMETADATA { 1258e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1259e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1260e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1261e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableMBInfo; 1262e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableTranscodeMode; 1263e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableSEIInfo; 1264e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bEnableVUIInfo; 1265e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_DECMETADATA; 1266e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1267e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1268e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1269e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @enum OMX_TI_VIDEO_MBERRSTATUS 1270e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This enum indicates if a MB was in error or not 1271e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1272e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1273e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1274e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum { 1275e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_MB_NOERROR = 0, 1276e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /** 1277e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * MB was non-erroneous 1278e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1279e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_MB_ERROR = 1 1280e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /** 1281e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * MB was erroneous 1282e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1283e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_MBERRSTATUS; 1284e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1285e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1286e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1287e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Macro definitions required for SEI support: HRD sequence parameter set 1288e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1289e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define OMX_TI_VIDEO_H264VDEC_MAXCPBCNT 32 1290e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1291e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1292e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Macro definitions required for SEI support: HRD sequence parameter set 1293e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1294e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD 300 1295e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1296e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1297e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1298e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_HrdParams 1299e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1300e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the HRD parameter elements. 1301e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1302e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cpb_cnt_minus1 : Number of alternative CPB specifications in the 1303e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bit-stream 1304e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bit_rate_scale : Together with bit_rate_value[i], it specifies the 1305e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * maximum input bit-rate for the ith CPB. 1306e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cpb_size_scale : Together with cpb_size_value[i], specifies the 1307e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * maximum CPB size for the ith CPB. 1308e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bit_rate_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT] :Maximum input bitrate 1309e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * for the ith CPB 1310e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cpb_size_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT] :Maximum CPB size for the 1311e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ith CPB 1312e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param vbr_cbr_flag[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT] :Specifies the ith CPB is operated 1313e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in Constant Bit-rate mode or variable bit-rate mode 1314e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param initial_cpb_removal_delay_length_minus1 :Length in bits of 1315e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * initial_cpb_removal_length syntax element 1316e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cpb_removal_delay_length_minus1 :Length in bits of 1317e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * cpb_removal_delay_length syntax element 1318e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param dpb_output_delay_length_minus1 :Length in bits of 1319e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * dpb_output_delay_length syntax element 1320e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param time_offset_length : Length in bits of time_offset syntax element 1321e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1322e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1323e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_HrdParams { 1324e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 cpb_cnt_minus1; 1325e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bit_rate_scale; 1326e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cpb_size_scale; 1327e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 bit_rate_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1328e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 cpb_size_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1329e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 vbr_cbr_flag[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1330e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 initial_cpb_removal_delay_length_minus1; 1331e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cpb_removal_delay_length_minus1; 1332e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dpb_output_delay_length_minus1; 1333e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 time_offset_length; 1334e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_HrdParams; 1335e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1336e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1337e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1338e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SVCVuiParams 1339e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1340e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains VUI message syntax elements for scalable 1341e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * video stream 1342e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1343e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, c 1344e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1345e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1346e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1347e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_num_entries_minus1:(svc_vui_ext_num_entries_minus1 + 1) 1348e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specifies the number of information 1349e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * entries that are present in the SVC 1350e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * VUI parameters extension syntax 1351e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * structure 1352e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_dependency_id:indicate the max value of DId for the 1353e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * i-th subset of coded video sequences 1354e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_quality_id:indicate the max value of QId for the 1355e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * i-th subset of coded video sequences 1356e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_temporal_id: indicate the max value of TId for the 1357e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * i-th subset of coded video sequences 1358e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_timing_info_present_flag: Flag to tells that 1359e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * svc_vui_ext_num_units_in_tick, 1360e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * svc_vui_ext_time_scale, 1361e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * svc_vui_ext_fixed_frame_rate_flag 1362e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * are present for current coded 1363e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sequence or not. 1364e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_num_units_in_tick: specifies the value of num_units_in_tick 1365e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_time_scale: specifies the value of time_scale 1366e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_fixed_frame_rate_flag: specifies the value of 1367e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * fixed_frame_rate_flag 1368e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_nal_hrd_parameters_present_flag:specifies the 1369e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * value of nal_hrd_parameters_present_flag 1370e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_vcl_hrd_parameters_present_flag: ] specifies the 1371e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * value of vcl_hrd_parameters_present_flag 1372e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_low_delay_hrd_flag: specifies the value 1373e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of low_delay_hrd_flag 1374e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svc_vui_ext_pic_struct_present_flag: specifies the value 1375e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of pic_struct_present_flag 1376e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1377e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1378e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1379e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1380e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct sOMX_TI_VIDEO_H264VDEC_SVCVuiParams { 1381e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1382e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_num_entries_minus1; 1383e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_dependency_id; 1384e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_quality_id; 1385e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_temporal_id; 1386e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_timing_info_present_flag; 1387e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 svc_vui_ext_num_units_in_tick; 1388e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 svc_vui_ext_time_scale; 1389e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_fixed_frame_rate_flag; 1390e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_nal_hrd_parameters_present_flag; 1391e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_vcl_hrd_parameters_present_flag; 1392e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_low_delay_hrd_flag; 1393e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 svc_vui_ext_pic_struct_present_flag; 1394e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SVCVuiParams; 1395e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1396e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1397e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1398e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_VuiParams 1399e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1400e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the VUI Sequence Parameter elements. 1401e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1402e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, c 1403e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1404e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1405e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param aspect_ratio_info_present_flag :Indicates whether aspect ratio idc 1406e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is present or not. 1407e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param aspect_ratio_idc : Aspect ratio of Luma samples 1408e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param sar_width : Horizontal size of sample aspect ratio 1409e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param sar_height : Vertical size of sample aspect ratio 1410e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param overscan_info_present_flag : Cropped decoded pictures are suitable 1411e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * for display or not. 1412e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param overscan_appropriate_flag : Overscan_appropriate_flag 1413e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param video_signal_type_present_flag : Flag indicates whether 1414e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * video_format, video_full_range_flag and colour_description_present_ 1415e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * flag are present or not 1416e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param video_format :Video format indexed by a table. For example,PAL/NTSC 1417e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param video_full_range_flag : Black level, luma and chroma ranges. It 1418e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * should be used for BT.601 compliance 1419e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param colour_description_present_flag:Indicates whether colour_primaries, 1420e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * transfer_characteristics and matrix_coefficients are present. 1421e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param colour_primaries :Chromaticity co-ordinates of source primaries 1422e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param transfer_characteristics :Opto-electronic transfer characteristics 1423e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of the source picture 1424e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param matrix_coefficients :Matrix coefficients for deriving Luma and 1425e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * chroma data from RGB components. 1426e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param chroma_location_info_present_flag : Flag indicates whether 1427e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * chroma_sample_loc_type_top field and chroma_sample_loctype 1428e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bottom_field are present. 1429e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param chroma_sample_loc_type_top_field : Location of chroma_sample top 1430e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * field 1431e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param chroma_sample_loc_type_bottom_field :Location of chroma_sample 1432e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bottom field 1433e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param timing_info_present_flag :Indicates whether num_units_in_tick, 1434e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * time_scale, and fixed_frame_rate_flag are present. 1435e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param num_units_in_tick :Number of units of a clock that corresponds to 1 1436e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * increment of a clock tick counter 1437e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param time_scale :Indicates actual increase in time for 1 increment of a 1438e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clock tick counter 1439e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param fixed_frame_rate_flag :Indicates how the temporal distance between 1440e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * HRD output times of any two output pictures is constrained 1441e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nal_hrd_parameters_present_flag :Indicates whether 1442e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nal_hrd_parameters are present 1443e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nal_hrd_pars : NAL HRD Parameters 1444e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param vcl_hrd_parameters_present_flag :Indicates whether 1445e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * vcl_hrd_parameters are present 1446e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param vcl_hrd_pars : VCL HRD Parameters 1447e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param low_delay_hrd_flag :HRD operational mode as in Annex C of the 1448e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * standard 1449e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pic_struct_present_flag :Indicates whether picture timing SEI 1450e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * messages are present 1451e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bitstream_restriction_flag :Indicates if the bit-stream restriction 1452e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * parameters are present 1453e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param motion_vectors_over_pic_boundaries_flag :Specifies whether motion 1454e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * vectors can point to regions outside the picture boundaries 1455e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param max_bytes_per_pic_denom :Maximum number of bytes not exceeded by 1456e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the sum of sizes of all VCL NAL units of a single coded picture 1457e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param max_bits_per_mb_denom :Maximum number of bits taken by any coded MB 1458e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param log2_max_mv_length_vertical :Maximum value of any motion vector\u2019s 1459e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * vertical component 1460e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param log2_max_mv_length_horizontal :Maximum value of any motion vector\u2019s 1461e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * horizontal component 1462e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param max_dec_frame_reordering : 1463e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param num_reorder_frames :Maximum number of frames that need to be 1464e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * re-ordered 1465e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param max_dec_frame_buffering :Size of HRD decoded buffer (DPB) in terms 1466e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of frame buffers 1467e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svcVuiParams : struct instance of vui parameters for svc 1468e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1469e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1470e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1471e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_VuiParams { 1472e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1473e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 aspect_ratio_info_present_flag; 1474e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 aspect_ratio_idc; 1475e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 sar_width; 1476e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 sar_height; 1477e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 overscan_info_present_flag; 1478e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 overscan_appropriate_flag; 1479e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 video_signal_type_present_flag; 1480e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 video_format; 1481e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 video_full_range_flag; 1482e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 colour_description_present_flag; 1483e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 colour_primaries; 1484e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 transfer_characteristics; 1485e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 matrix_coefficients; 1486e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 chroma_location_info_present_flag; 1487e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 chroma_sample_loc_type_top_field; 1488e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 chroma_sample_loc_type_bottom_field; 1489e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 timing_info_present_flag; 1490e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 num_units_in_tick; 1491e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 time_scale; 1492e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 fixed_frame_rate_flag; 1493e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nal_hrd_parameters_present_flag; 1494e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_HrdParams nal_hrd_pars; 1495e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 vcl_hrd_parameters_present_flag; 1496e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_HrdParams vcl_hrd_pars; 1497e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 low_delay_hrd_flag; 1498e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pic_struct_present_flag; 1499e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bitstream_restriction_flag; 1500e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 motion_vectors_over_pic_boundaries_flag; 1501e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 max_bytes_per_pic_denom; 1502e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 max_bits_per_mb_denom; 1503e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 log2_max_mv_length_vertical; 1504e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 log2_max_mv_length_horizontal; 1505e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 max_dec_frame_reordering; 1506e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 num_reorder_frames; 1507e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 max_dec_frame_buffering; 1508e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SVCVuiParams svcVuiParams; 1509e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_VuiParams; 1510e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1511e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1512e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1513e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT 1514e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1515e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the user data SEI msg elements 1516e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1517e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1518e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1519e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1520e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param num_payload_bytes :Specifies the size of the payload 1521e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param itu_t_t35_country_code : A byte having a value specified as a 1522e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * country code by ITU-T Recommendation T.35 Annex A 1523e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param itu_t_t35_country_code_extension_byte :A byte having a value 1524e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specified as a country code by ITU-T Recommendation T.35 Annex B 1525e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param itu_t_t35_payload_byte[] : A byte containing data registered as 1526e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specified by ITU-T Recommendation T.35. 1527e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param dataOverflowFlag: This indicates if pay load data is more than the 1528e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * array size i.e., OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD. 1529e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1530e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1531e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT { 1532e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1533e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 num_payload_bytes; 1534e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 itu_t_t35_country_code; 1535e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 itu_t_t35_country_code_extension_byte; 1536e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 itu_t_t35_payload_byte[OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD]; 1537e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dataOverflowFlag; 1538e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT; 1539e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1540e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1541e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1542e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg 1543e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1544e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the user data SEI msg elements 1545e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1546e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1547e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1548e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1549e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param num_payload_bytes :Specifies the size of the payload 1550e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param uuid_iso_iec_11578 :Value specified as a UUID according to the 1551e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * procedures of ISO/IEC 11578:1996 Annex A. 1552e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param user_data_payload_byte :Byte containing data having syntax and 1553e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * semantics as specified by the UUID generator. 1554e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param dataOverflowFlag: This indicates if pay load data is more than the 1555e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * array size i.e., OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD. 1556e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1557e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1558e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg { 1559e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1560e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 num_payload_bytes; 1561e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 uuid_iso_iec_11578[16]; 1562e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 user_data_payload_byte[OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD]; 1563e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dataOverflowFlag; 1564e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg; 1565e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1566e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1567e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1568e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1569e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod 1570e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1571e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the buffering period SEI msg elements 1572e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1573e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1574e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1575e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1576e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param seq_parameter_set_id :Specifies the sequence parameter set that 1577e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contains the sequence HRD attributes 1578e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nal_cpb_removal_delay :Specifies the delay for the indexed NAL CPB 1579e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * between the time of arrival in the CPB of the first bit of the 1580e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded data associated with the access unit associated with the 1581e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * buffering period SEI message and the time of removal from the CPB 1582e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of the coded data associated with the same access unit, for the 1583e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * first buffering period after HRD initialization. 1584e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nal_cpb_removal_delay_offset :Used for the indexed NAL CPB in 1585e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * combination with the cpb_removal_delay to specify the initial 1586e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * delivery time of coded access units to the CPB 1587e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param vcl_cpb_removal_delay :Specifies the delay for the indexed VCL CPB 1588e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * between the time of arrival in the CPB of the first bit of the 1589e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded data associated with the access unit associated with the 1590e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * buffering period SEI message and the time of removal from the CPB 1591e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of the coded data associated with the same access unit, for the 1592e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * first buffering period after HRD initialization. 1593e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param vcl_cpb_removal_delay_offset :Used for the indexed VCL CPB in 1594e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * combination with the cpb_removal_delay to specify the initial 1595e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * delivery time of coded access units to the CPB 1596e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1597e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1598e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod { 1599e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1600e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 seq_parameter_set_id; 1601e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nal_cpb_removal_delay[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1602e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nal_cpb_removal_delay_offset[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1603e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 vcl_cpb_removal_delay[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1604e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 vcl_cpb_removal_delay_offset[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT]; 1605e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod; 1606e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1607e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1608e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiPanScanRect 1609e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1610e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the pan scan rectangle SEI msg elements 1611e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1612e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1613e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1614e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1615e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_id :Specifies an identifying number that may be used 1616e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * to identify the purpose of the pan-scan rectangle 1617e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_cancel_flag :Equal to 1 indicates that the SEI 1618e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * message cancels the persistence of any previous pan-scan 1619e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * rectangle SEI message in output order. 1620e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pan_scan_rect_cancel_flag equal to 0 indicates that 1621e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pan-scan rectangle information follows. 1622e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_cnt_minus1 :Specifies the number of pan-scan rectangles 1623e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * that are present in the SEI message 1624e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_left_offset :Specifies as signed integer quantities 1625e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in units of one-sixteenth sample spacing relative to the luma 1626e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sampling grid, the location of the pan-scan rectangle 1627e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_right_offset :Specifies as signed integer quantities 1628e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in units of one-sixteenth sample spacing relative to the luma 1629e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sampling grid, the location of the pan-scan rectangle 1630e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_top_offset : Top offset 1631e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_bottom_offset : Bottom offset 1632e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect_repetition_period :Specifies the persistence of the 1633e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pan-scan rectangle SEI message and may specify a picture order 1634e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * count interval within which another pan-scan rectangle SEI message 1635e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * with the same value of pan_scan_rect_id or the end of the coded 1636e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * video sequence shall be present in the bit-stream 1637e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1638e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1639e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiPanScanRect { 1640e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1641e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pan_scan_rect_id; 1642e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pan_scan_rect_cancel_flag; 1643e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pan_scan_cnt_minus1; 1644e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 pan_scan_rect_left_offset[3]; 1645e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 pan_scan_rect_right_offset[3]; 1646e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 pan_scan_rect_top_offset[3]; 1647e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 pan_scan_rect_bottom_offset[3]; 1648e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pan_scan_rect_repetition_period; 1649e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiPanScanRect; 1650e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1651e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1652e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1653e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart 1654e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1655e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the progressive refinement start SEI msg 1656e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * elements 1657e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1658e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1659e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1660e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1661e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param progressive_refinement_id :Specifies an identification number for 1662e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the progressive refinement operation. 1663e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param num_refinement_steps_minus1 :Specifies the number of reference 1664e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frames in the tagged set of consecutive coded pictures 1665e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1666e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1667e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart { 1668e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1669e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 progressive_refinement_id; 1670e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 num_refinement_steps_minus1; 1671e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart; 1672e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1673e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1674e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd 1675e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1676e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief TThis structure contains the progressive refinement end SEI msg 1677e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * elements 1678e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1679e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1680e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1681e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1682e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param progressive_refinement_id :Specifies an identification number for 1683e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the progressive refinement operation. 1684e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1685e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1686e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd { 1687e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1688e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 progressive_refinement_id; 1689e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd; 1690e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1691e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1692e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo 1693e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1694e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the sRecovery Point Info SEI msg elements 1695e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1696e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1697e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1698e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1699e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param exact_match_flag :Indicates whether decoded pictures at and 1700e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * subsequent to the specified recovery point in output order derived 1701e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * by starting the decoding process at the access unit associated with 1702e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the recovery point SEI message, will be an exact match to the 1703e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pictures that would be produced by starting the decoding process 1704e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * at the location of a previous IDR access unit in the NAL unit stream. 1705e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param recovery_frame_cnt :Specifies the recovery point of output pictures 1706e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in output order 1707e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param broken_link_flag :Indicates the presence or absence of a broken 1708e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * link in the NAL unit stream 1709e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param changing_slice_group_idc :Indicates whether decoded pictures are 1710e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * correct or approximately correct in content at and subsequent to 1711e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the recovery point in output order when all macro-blocks of the 1712e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * primary coded pictures are decoded within the changing slice group 1713e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * period. 1714e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1715e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1716e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo { 1717e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1718e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 recovery_frame_cnt; 1719e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 exact_match_flag; 1720e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 broken_link_flag; 1721e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 changing_slice_group_idc; 1722e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo; 1723e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1724e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1725e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1726e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiPictureTiming 1727e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1728e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the picture timing SEI msg elements 1729e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1730e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1731e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1732e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1733e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param NumClockTs : 1734e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cpb_removal_delay :Specifies how many clock ticks to wait after 1735e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * removal from the CPB of the access unit associated with the 1736e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * most recent buffering period SEI message before removing from 1737e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the buffer the access unit data associated with the picture 1738e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * timing SEI message. 1739e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param dpb_output_delay : Used to compute the DPB output time of the 1740e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture. 1741e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pic_struct : Indicates whether a picture should be displayed as 1742e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * a frame or field 1743e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param clock_time_stamp_flag[4]:1 - Indicates number of clock timestamp 1744e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * syntax elements present and follow immediately 1745e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 \u2013 Indicates associated clock timestamp syntax 1746e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * elements not present 1747e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param ct_type[4] : Indicates the scan type(interlaced or progressive) 1748e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of the source material 1749e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nuit_field_based_flag[4] : Used to calculate the clockTimestamp 1750e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param counting_type[4] : Specifies the method of dropping values of 1751e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * n_frames 1752e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param full_timestamp_flag[4] : 1 - Specifies that the n_frames syntax 1753e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * element is followed by seconds_value, 1754e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * minutes_value, and hours_value. 1755e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Specifies that the n_frames syntax 1756e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * element is followed by seconds_flag 1757e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param discontinuity_flag[4] : Indicates whether the difference between 1758e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the current value of clockTimestamp and the value of 1759e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clockTimestamp computed from the previous clockTimestamp in 1760e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * output order can be interpreted as the time difference between 1761e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the times of origin or capture of the associated frames or 1762e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * fields. 1763e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cnt_dropped_flag[4] : Specifies the skipping of one or more 1764e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * values of n_frames using the counting method 1765e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param n_frames[4] : Specifies the value of nFrames used to compute 1766e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clockTimestamp. 1767e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param seconds_flag[4] : equal to 1 specifies that seconds_value and 1768e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * minutes_flag are present when 1769e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * full_timestamp_flag is equal to 0. 1770e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param minutes_flag[4] : equal to 1 specifies that minutes_value and 1771e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * hours_flag are present when full_timestamp_flag 1772e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is equal to 0 and seconds_flag is equal to 1. 1773e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param hours_flag[4] : equal to 1 specifies that hours_value is 1774e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * present when full_timestamp_flag is equal to 0 1775e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * and seconds_flag is equal to 1 and minutes_flag 1776e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is equal to 1. 1777e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param seconds_value[4] : Specifies the value of sS used to compute 1778e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clockTimestamp. 1779e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param minutes_value[4] : Specifies the value of mM used to compute 1780e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clockTimestamp. 1781e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param hours_value[4] : Specifies the value of tOffset used to compute 1782e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clockTimestamp 1783e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param time_offset[4] : Specifies the value of tOffset used to compute 1784e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * clockTimestamp 1785e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1786e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1787e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiPictureTiming { 1788e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1789e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 NumClockTs; 1790e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 cpb_removal_delay; 1791e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 dpb_output_delay; 1792e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pic_struct; 1793e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 clock_time_stamp_flag[4]; 1794e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ct_type[4]; 1795e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nuit_field_based_flag[4]; 1796e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 counting_type[4]; 1797e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 full_timestamp_flag[4]; 1798e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 discontinuity_flag[4]; 1799e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 cnt_dropped_flag[4]; 1800e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 n_frames[4]; 1801e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 seconds_flag[4]; 1802e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 minutes_flag[4]; 1803e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 hours_flag[4]; 1804e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 seconds_value[4]; 1805e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 minutes_value[4]; 1806e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 hours_value[4]; 1807e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 time_offset[4]; 1808e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_VIDEO_H264VDEC_SeiPictureTiming; 1809e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1810e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1811e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep 1812e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1813e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains the full frmae freeze repetition SEI msg 1814e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * elements 1815e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1816e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1817e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1818e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1819e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param full_frame_freeze_repetition_period :Specifies the persistence of 1820e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the full-frame freeze SEI message 1821e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1822e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1823e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep { 1824e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1825e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 full_frame_freeze_repetition_period; 1826e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep; 1827e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1828e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1829e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1830e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel 1831e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1832e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains frame freeze release SEI msg elements 1833e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1834e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1835e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1836e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1837e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param payloadSize : Size of the frame_freeze_release payload 1838e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1839e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1840e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel { 1841e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1842e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 payloadSize; 1843e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel; 1844e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1845e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1846e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1847e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo 1848e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1849e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains stereo video information SEI msg elements 1850e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1851e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 1852e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 1853e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 1854e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param field_views_flag : 1 - indicates that all pictures in the current 1855e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded video sequence are fields 1856e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that all pictures in the current 1857e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded video sequence are frames. 1858e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param top_field_is_left_view_flag : 1859e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - top field is a left view. 1860e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - topfield is right view. 1861e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param current_frame_is_left_view_flag : 1862e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - current frame is left view. 1863e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - current frame is right view. 1864e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param next_frame_is_second_view_flag : 1865e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - current picture and a next picture in 1866e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * output order form a stereo video pair. 1867e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - current picture and a previous picture in 1868e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * output order form a stereo video pair. 1869e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param left_view_self_contained_flag : 1870e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - it will not use right view as a reference 1871e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture for inter prediction 1872e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - it may use right view as a reference 1873e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture for inter prediction. 1874e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param right_view_self_contained_flag : 1875e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - it will not use left view as a reference 1876e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture for inter prediction 1877e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - it may use left view as a reference 1878e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture for inter prediction. 1879e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1880e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1881e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo { 1882e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1883e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 field_views_flag; 1884e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 top_field_is_left_view_flag; 1885e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 current_frame_is_left_view_flag; 1886e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 next_frame_is_second_view_flag; 1887e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 left_view_self_contained_flag; 1888e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 right_view_self_contained_flag; 1889e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo; 1890e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1891e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1892e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1893e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiFramePacking 1894e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1895e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains frame packing arrangement SEI msg elements 1896e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1897e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame_packing_arrangement_id : 1898e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contains an identifying number that may be used to identify 1899e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the usage of the frame packing arrangement SEI message. 1900e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame_packing_arrangement_cancel_flag : 1901e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - equal to 1 indicates that the frame packing arrangement 1902e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * SEI message cancels the persistence of any previous frame 1903e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * packing arrangement SEI message in output order. 1904e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that frame packing arrangement info follows 1905e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame_packing_arrangement_type : 1906e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * indicates the type of packing arrangement of the frames 1907e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param quincunx_sampling_flag : 1908e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - indicates that each color component plane of each 1909e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent frame is quincunx sampled 1910e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that each color component plane of each 1911e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent frame is not quincunx sampled 1912e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param content_interpretation_type : 1913e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - frame 0 being associated with the left view and frame 1 1914e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * being associated with the right view 1915e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2 - frame 0 being associated with the right view and frame 1 1916e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * being associated with the left view 1917e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param spatial_flipping_flag : 1918e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - spatial flipping is enabled for any one of the frame 1919e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent, if frame_packing_arrangement_type is 3 or 4. 1920e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - spatial flipping is disabled for any one of the frame 1921e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent, if frame_packing_arrangement_type is 3 or 4. 1922e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame0_flipped_flag : 1923e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - frame 0 is spatially flipped 1924e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - frame 1 is spatially flipped 1925e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param field_views_flag : 1926e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - indicates that all pictures in the current coded video 1927e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sequence are coded as complementary field pairs. 1928e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that all pictures in the current coded video 1929e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sequence are coded as frame. 1930e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param current_frame_is_frame0_flag : 1931e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - indicates that the current decoded frame is constituent 1932e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame 0 and the next decoded frame in output order 1933e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is constituent frame 1. 1934e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that the current decoded frame is constituent 1935e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame 1 and the next decoded frame in output order 1936e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is constituent frame 0. 1937e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame0_self_contained_flag : 1938e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - indicates that the constituent frame 0 is dependent on 1939e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent frame 1 in decoding process 1940e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that the constituent frame 0 may dependent on 1941e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent frame 1 in decoding process 1942e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame1_self_contained_flag : 1943e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - indicates that the constituent frame 1 is dependent on 1944e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent frame 0 in decoding process 1945e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that the constituent frame 1 may dependent on 1946e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * constituent frame 0 in decoding process 1947e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame0_grid_position_x : 1948e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specifies the horizontal location of the upper left 1949e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sample of constituent frame 0 in the units of one 1950e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sixteenth of the luma samples 1951e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame0_grid_position_y : 1952e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specifies the vertical location of the upper left 1953e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sample of constituent frame 0 in the units of one 1954e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sixteenth of the luma samples 1955e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame1_grid_position_x : 1956e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specifies the horizontal location of the upper left 1957e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sample of constituent frame 1 in the units of one 1958e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sixteenth of the luma samples 1959e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame1_grid_position_y : 1960e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specifies the vertical location of the upper left 1961e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sample of constituent frame 1 in the units of one 1962e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sixteenth of the luma samples 1963e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame_packing_arrangement_reserved_byte : 1964e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * reserved for the future use. 1965e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame_packing_arrangement_repetition_period : 1966e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specifies the persistence of the frame packing arrangement 1967e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * SEI message and may specify a frame order count interval 1968e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * within which another frame packing arrangement SEI message 1969e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * with the same value of frame_packing_arrangement_id or the 1970e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * end of the coded video sequence shall be present in the 1971e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bitstream. 1972e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frame_packing_arrangement_extension_flag : 1973e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - indicates that no additional data follows within the 1974e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame packing arrangement SEI message. 1975e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1 - Reserved for the future use. 1976e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 1977e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1978e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiFramePacking { 1979e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 1980e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 frame_packing_arrangement_id; 1981e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 frame_packing_arrangement_repetition_period; 1982e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame_packing_arrangement_cancel_flag; 1983e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame_packing_arrangement_type; 1984e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 quincunx_sampling_flag; 1985e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 content_interpretation_type; 1986e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 spatial_flipping_flag; 1987e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame0_flipped_flag; 1988e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 field_views_flag; 1989e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 current_frame_is_frame0_flag; 1990e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame0_self_contained_flag; 1991e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame1_self_contained_flag; 1992e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame0_grid_position_x; 1993e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame0_grid_position_y; 1994e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame1_grid_position_x; 1995e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame1_grid_position_y; 1996e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame_packing_arrangement_reserved_byte; 1997e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frame_packing_arrangement_extension_flag; 1998e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiFramePacking; 1999e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2000e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2001e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2002e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2003e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_SeiMessages 2004e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2005e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure contains all the supported SEI msg objects 2006e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2007e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param parsed_flag :1 - Indicates that in the current process call, 2008e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * contents of the structure is updated 2009e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 0 - Indicates contents of the structure is not updated 2010e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param full_frame_freeze : Full-frame freeze SEI message 2011e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param full_frame_freeze_release :Cancels the effect of any full-frame 2012e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * freeze SEI message sent with pictures that precede the current 2013e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture in the output order. 2014e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param prog_refine_start :Specifies the beginning of a set of consecutive 2015e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded pictures that is labeled as the current picture followed 2016e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * by a sequence of one or more pictures of refinement of the 2017e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * quality of the current picture, rather than as a representation 2018e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * of a continually moving scene. 2019e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param prog_refine_end : Specifies end of progressive refinement. 2020e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param user_data_registered :Message contains user data registered as 2021e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specified by ITU-T Recommendation T.35 2022e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param user_data_unregistered :Message contains unregistered user data 2023e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * identified by a UUID 2024e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param buffering_period_info :Message specifies the buffering period 2025e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pan_scan_rect :Message specifies the coordinates of a rectangle 2026e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * relative to the cropping rectangle of the sequence parameter set 2027e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param recovery_pt_info :The recovery point SEI message assists a decoder 2028e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in determining when the decoding process will produce acceptable 2029e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pictures for display after the decoder initiates random access or 2030e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * after the encoder indicates a broken link in the sequence. 2031e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pic_timing :Specifies timing information regarding cpb delays, dpb 2032e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* output delay, and so on. 2033e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param stereo_video_info :stereo video information SEI message consist of 2034e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pair of picture forming stereo view content. 2035e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2036e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2037e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_SeiMessages { 2038e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 parsed_flag; 2039e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep full_frame_freeze; 2040e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel full_frame_freeze_release; 2041e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart prog_refine_start; 2042e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd prog_refine_end; 2043e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT user_data_registered; 2044e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg user_data_unregistered; 2045e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod buffering_period_info; 2046e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiPanScanRect pan_scan_rect; 2047e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo recovery_pt_info; 2048e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiPictureTiming pic_timing; 2049e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo stereo_video_info; 2050e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_SeiFramePacking frame_packing; 2051e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_SeiMessages; 2052e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2053e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2054e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2055e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2056e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct _sErrConcealStr 2057e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This str holds up the required Info for implementing the SCV EC, 2058e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * this will get updated by H.264 decoder while decoding the SVC 2059e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Base/Target Layers 2060e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2061e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param CurrMbInfoBufPointer :Base Address of the current decoded frame 2062e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * MB Info buffer 2063e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2064e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param CurrMbStatusBufPointer: Base Address of the current decoded frame 2065e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * MB staus buffer pointer 2066e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2067e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param currFrameY : Base Address of the current decoded Luma 2068e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame buffer pointer (physical pointer) 2069e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2070e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param currFrameUV : Base Address of the current decoded Chroma 2071e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame buffer pointer (physical pointer) 2072e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2073e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param refConclY : Base Address of the ref decoded Luma 2074e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame buffer pointer (virtual pointer) 2075e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2076e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param refConclUV : Base Address of the ref decoded Chroma 2077e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame buffer pointer (virtual pointer) 2078e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2079e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param TilerBaseAddress : TBA vaule for the VDMA 2080e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2081e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pSliceInfoFlags : Flag to enable slice info 2082e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2083e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param ref_width : Resultant Horizontal LUMA picture size 2084e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * after Pad size addition on both Left 2085e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * & Right sides. This gets used as 2086e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * stride during vDMA programming. 2087e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * In case of TILER,the stride is fixed, 2088e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * independant of Picture width, and 2089e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * only changes with TILER mode. 2090e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2091e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param ref_width_c : Resultant Horizontal CHROMA picture size 2092e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * after Pad size addition on both Left & 2093e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Right sides. 2094e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2095e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2096e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param ref_frame_height : In case of Interlaced streams,the picure 2097e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * store is different i.e., store each field 2098e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * by applying PAD on top & bottom lines. 2099e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Hence the picture height will be Height 2100e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * plus four times the Pad size. This 2101e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * variable holds this resultant value. 2102e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2103e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param mb_width : Picture width in terms of Macroblocks 2104e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2105e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param mb_height : Picture height in terms of Macroblocks. 2106e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2107e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param image_width : Image width of the decoded frame 2108e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2109e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param image_width : Image height of the decoded frame 2110e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2111e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param frameType : Frame type of the current frame. 2112e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2113e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param picaff_frame : Flag to indicate whether current picture 2114e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is of Frame type & referring to Field 2115e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture as reference. 2116e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2117e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param mb_aff_frame_flag : Flag to indicate whether the current 2118e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * decoding picture is MBAFF type. 2119e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2120e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param field_pic_flag : Flag to indicate whether the current 2121e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * decoding picture is field type. 2122e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2123e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bottom_field_flag : This parameter equal to 1 specifies that 2124e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the slice is part of a coded bottom field. 2125e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bottom_field_flag equalto 0 specifies 2126e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * that the picture is a coded top field. 2127e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2128e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nonPairedFieldPic : Flag to indicate Non paired field picture. 2129e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2130e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param prev_pic_bottom_field : this variable Indicates if the previous 2131e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * picture was a bottom field or not (a Flag) 2132e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2133e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2134e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2135e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_ErrConcealStr { 2136e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 ErrConcealmentEnable; 2137e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 CurrMbInfoBufPointer; 2138e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 CurrMbStatusBufPointer; 2139e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 CurrMbInfoIresBufPointer; 2140e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 currFrameY; 2141e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 currFrameUV; 2142e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 refConclY; 2143e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 refConclUV; 2144e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 TilerBaseAddress; 2145e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ref_width; 2146e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ref_width_c; 2147e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ref_frame_height; 2148e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 mb_width; 2149e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 mb_height; 2150e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 image_width; 2151e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 image_height; 2152e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 frameType; 2153e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 picaff_frame; 2154e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mb_aff_frame_flag; 2155e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 field_pic_flag; 2156e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom_field_flag; 2157e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nonPairedFieldPic; 2158e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 prev_pic_bottom_field; 2159e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_VIDEO_H264VDEC_ErrConcealStr; 2160e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2161e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2162e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Size of sliceinfo flags - We have two slice info flag arrays in SL2, one 2163e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * for ECD3 and the other for MC3. ECD3 flag is one bit per MB. Since Maximum 2164e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * supported number of MBs in a frame is 128 x 128 = 16384, we need 16384/8 = 2165e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2048 bytes for the slice info flag array for ECD3. But for the MC3 array, 2166e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * we always make the next bit also as 1 to enable loading into ping and pong 2167e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * memories of MCBUF. So we need an extra bit for the MC3 array, to avoid 2168e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * buffer overflow when the last MB is a new slice. To keep the next SL2 buffer 2169e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * in 16-byte aligned position (some buffers need it) we round the size to next 2170e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * multiple of 16, i.e., 2064. 2171e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2172e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define OMX_TI_VIDEO_SLICEINFO_FLAGSIZE 2064 2173e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2174e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2175e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2176e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct _sErrConcealLayerStr 2177e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This str holds up the required Info for implementing the SCV EC, 2178e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * this will get updated by H.264 decoder while decoding the SVC 2179e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Base/Target Layers 2180e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2181e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param svcEcStr : structure instance of sSVCErrConcealStr 2182e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2183e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param pSliceInfoFlags : Array to store the sliceInfo flag 2184e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2185e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2186e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2187e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2188e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_ErrConcealLayerStr { 2189e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_ErrConcealStr sECStr; 2190e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pSliceInfoFlags[OMX_TI_VIDEO_SLICEINFO_FLAGSIZE]; 2191e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_VIDEO_H264VDEC_ErrConcealLayerStr; 2192e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2193e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2194e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2195e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2196e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_CommonInfo 2197e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2198e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2199e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2200e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2201e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2202e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_CommonInfo { 2203e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 codec_type : 8; 2204e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 fmt_type : 8; 2205e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_ll_avail : 1; 2206e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_ul_avail : 1; 2207e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_uu_avail : 1; 2208e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_ur_avail : 1; 2209e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pic_bound_l : 1; 2210e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pic_bound_u : 1; 2211e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pic_bound_r : 1; 2212e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 pic_bound_b : 1; 2213e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 first_mb_flag : 1; 2214e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 error_flag : 1; 2215e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 zero : 6; 2216e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 zeroes : 16; 2217e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_addr : 16; 2218e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2219e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_CommonInfo; 2220e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2221e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2222e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2223e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_MotionVector 2224e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2225e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2226e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2227e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2228e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2229e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_MotionVector { 2230e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 x; 2231e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 y; 2232e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_MotionVector; 2233e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2234e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2235e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2236e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_CabacContext 2237e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2238e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2239e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2240e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2241e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2242e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_CabacContext { 2243e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mvd_l0[4]; 2244e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mvd_l1[4]; 2245e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2246e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_CabacContext; 2247e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2248e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2249e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2250e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_TotalCoefLuma 2251e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2252e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2253e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2254e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2255e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2256e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_TotalCoefLuma { 2257e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 right[3]; 2258e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom_right; 2259e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom[3]; 2260e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 zero; 2261e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_TotalCoefLuma; 2262e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2263e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2264e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2265e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_TotalCoefChroma 2266e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2267e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2268e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2269e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2270e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2271e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_TotalCoefChroma { 2272e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 right_cb; 2273e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom_right_cb; 2274e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom_cb; 2275e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 zero; 2276e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 right_cr; 2277e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom_right_cr; 2278e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 bottom_cr; 2279e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 zero1; 2280e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_TotalCoefChroma; 2281e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2282e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2283e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2284e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_CavlcContext 2285e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2286e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2287e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2288e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2289e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2290e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_CavlcContext { 2291e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen unsigned long long zeroes[2]; 2292e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_TotalCoefLuma total_coef_luma; 2293e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_TotalCoefChroma total_coef_chroma; 2294e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2295e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_CavlcContext; 2296e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2297e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2298e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2299e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_IntraPredMode 2300e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2301e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2302e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2303e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2304e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2305e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_IntraPredMode { 2306e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode0 : 4; 2307e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode1 : 4; 2308e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode2 : 4; 2309e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode3 : 4; 2310e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode4 : 4; 2311e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode5 : 4; 2312e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode6 : 4; 2313e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode7 : 4; 2314e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode8 : 4; 2315e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode9 : 4; 2316e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode10 : 4; 2317e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode11 : 4; 2318e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode12 : 4; 2319e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode13 : 4; 2320e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode14 : 4; 2321e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ipred_mode15 : 4; 2322e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2323e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_IntraPredMode; 2324e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2325e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2326e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2327e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2328e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_MbPredType 2329e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2330e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2331e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2332e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2333e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2334e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_MbPredType { 2335e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mbskip : 1; 2336e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 tr8x8 : 1; 2337e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_field : 1; 2338e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 cond_mbskip : 1; 2339e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 c_ipred_mode : 2; 2340e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 zero : 1; 2341e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 end_of_slice : 1; 2342e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_y_mod2 : 1; 2343e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 zero1 : 7; 2344e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 refidx_equal_flag_l0 : 1; 2345e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 refidx_equal_flag_l1 : 1; 2346e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mv_equal_flag_l0 : 1; 2347e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mv_equal_flag_l1 : 1; 2348e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 zeroes : 4; 2349e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 mb_type : 8; 2350e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 sub_mb_type[4]; 2351e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2352e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_MbPredType; 2353e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2354e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2355e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2356e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_QpCbp 2357e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2358e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2359e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2360e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2361e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2362e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_QpCbp { 2363e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 cbp; 2364e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 qp_y; 2365e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 qp_cb; 2366e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 qp_cr; 2367e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 zero; 2368e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_QpCbp; 2369e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2370e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2371e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2372e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_RefPicControl 2373e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2374e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2375e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2376e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2377e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2378e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_RefPicControl { 2379e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 refidx[4]; 2380e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 refpicid[4]; 2381e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2382e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_RefPicControl; 2383e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2384e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2385e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2386e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_MvBidirectional16 2387e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2388e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2389e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2390e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2391e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2392e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_MvBidirectional16 { 2393e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mv_forward[16]; 2394e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mv_backward[16]; 2395e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_MvBidirectional16; 2396e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2397e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2398e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2399e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2400e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_MvBidirectional4 2401e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2402e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief 2403e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2404e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2405e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2406e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_MvBidirectional4 { 2407e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mv_forward[4]; 2408e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mv_backward[4]; 2409e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2410e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_MvBidirectional4; 2411e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2412e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2413e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2414e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @struct OMX_TI_VIDEO_H264VDEC_MbInfo 2415e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2416e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @brief This structure details the data format for MB information shared to 2417e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * application. This helps application to understand all fields 2418e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the way codec uses MB info internally. This structure is of size 2419e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 208 Bytes. 2420e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2421e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param info : This elements gives details about the MB placement in the 2422e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * frame. 2423e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2424e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cabac: This field holds the context data for a CABAC coded MB 2425e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2426e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param cavlc: This field holds the context data for a CAVLC coded MB 2427e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2428e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param ipred_mode: This field holds information of intra prediction modes 2429e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * at 4x4 level, for intra coded MB. 2430e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2431e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param mb_pred_type: This indicates prediction specific details for inter 2432e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * coded MB 2433e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2434e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param qp_cbp: This gives coded & QP informations for both LUMA & CHROMA 2435e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * components of a Macro Block. 2436e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2437e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param l0_ref_pic_control: Informs all details about reference indices 2438e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * at 8x8 block level in L0 direction 2439e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2440e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param l1_ref_pic_control: Informs all details about reference indices 2441e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * at 8x8 block level in L1 direction 2442e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2443e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param mv_forward: Lists all Motion vectors at 4x4 level in L0 direction 2444e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2445e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bidirectional16: Lists all Motion vectors at 4x4 level in both 2446e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * directions 2447e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2448e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bidirectional4: Lists all Motion vectors at 8x8 level in both 2449e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * directions 2450e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2451e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen ****************************************************************************** 2452e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2453e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_H264VDEC_MbInfo { 2454e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_CommonInfo info; 2455e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2456e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen union { 2457e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_CabacContext cabac; 2458e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_CavlcContext cavlc; 2459e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_VIDEO_H264VDEC_context; 2460e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2461e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_IntraPredMode ipred_mode; 2462e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MbPredType mb_pred_type; 2463e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_QpCbp qp_cbp; 2464e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_RefPicControl l0_ref_pic_control; 2465e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_RefPicControl l1_ref_pic_control; 2466e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2467e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen union { 2468e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MotionVector mv_forward[16]; 2469e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MvBidirectional16 bidirectional16; 2470e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VIDEO_H264VDEC_MvBidirectional4 bidirectional4; 2471e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_VIDEO_H264VDEC_motion_vecs; 2472e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2473e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VIDEO_H264VDEC_MbInfo; 2474e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2475e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2476e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2477e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2478e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen******************************************************************************** 2479e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @struct OMX_TI_VIDEO_VC1VDEC_MbInfo 2480e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 2481e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @brief MB information structure that is written out by the IVA-HD hardware. 2482e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 2483e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @note None: 2484e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 2485e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen******************************************************************************** 2486e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2487e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VIDEO_VC1VDEC_MbInfo { 2488e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* MB address */ 2489e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mb_addr; 2490e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Error flag */ 2491e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 error_flag; 2492e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* First MB flag */ 2493e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 first_mb_flag; 2494e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Picture bound */ 2495e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pic_bound_b; 2496e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Upper picture bound */ 2497e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pic_bound_u; 2498e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Right picture bound */ 2499e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pic_bound_r; 2500e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Left picture bound */ 2501e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pic_bound_l; 2502e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Availability of upper right MB */ 2503e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mb_ur_avail; 2504e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Availability of upper MB */ 2505e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mb_uu_avail; 2506e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Availability of upper left MB */ 2507e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mb_ul_avail; 2508e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Availability of left MB */ 2509e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mb_ll_avail; 2510e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Macroblock header format type */ 2511e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 fmt_type; 2512e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Codec type */ 2513e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 codec_type; 2514e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Indicates DC values of each Y block in current MB */ 2515e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dc_coef_q_y[4]; 2516e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Indicates DC values of Cr block in current MB */ 2517e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dc_coef_q_cr; 2518e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Indicates DC values of Cb block in current MB */ 2519e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dc_coef_q_cb; 2520e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Block type of cr block */ 2521e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 block_type_cr; 2522e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Block type of cb block */ 2523e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 block_type_cb; 2524e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Block types of luma */ 2525e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 block_type_y[4]; 2526e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* In decoding, if the current macroblock is the last macroblock in a slice,*/ 2527e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* ECD sets 1 to this field during executing the macroblock. Otherwise, ECD */ 2528e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* sets 0 to this field */ 2529e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 end_of_slice; 2530e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 : allow skipping current MB if CBP = 0 */ 2531e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cond_skip_flag; 2532e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Skipped / non skipped MB */ 2533e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 skip; 2534e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 indicates that overlap filtering is in use for the macroblock. */ 2535e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 overlap; 2536e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 indicates that AC prediction is in use for the macroblock */ 2537e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 acpred; 2538e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes inter-prediction direction for the macroblock in B-picture */ 2539e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 b_picture_direction; 2540e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes the number of motion vectors. */ 2541e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_mode; 2542e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 indicates that the field transform is in use for the macroblock. */ 2543e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 fieldtx; 2544e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 indicates that field inter-prediction is in use */ 2545e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_type; 2546e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Equals the reference frame distance */ 2547e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 refdist; 2548e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 indicates that macroblock quantizer-scale (MQUANT) overflows */ 2549e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mquant_overflow; 2550e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Equals the quantizer-scale for the macroblock */ 2551e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 quant; 2552e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* 1 indicates that 0.5 shall be added to PQUANT in calculation of */ 2553e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* quantizer-scale. This field is valid for decoding only. */ 2554e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 halfqp; 2555e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Equals the DC coefficient step size which is derived from MQUANT in the */ 2556e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* bit-stream */ 2557e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 dc_step_size; 2558e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes the coded sub-block pattern for cr block */ 2559e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cbp_cr; 2560e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes the coded sub-block pattern for cb block */ 2561e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cbp_cb; 2562e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes the coded sub-block pattern for luma blocks */ 2563e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cbp_y[3]; 2564e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes the backward reference field picture */ 2565e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_bw_ref_y[4]; 2566e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Denotes the forward reference field picture */ 2567e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_fw_ref_y[3]; 2568e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Unclipped forward motion vector for luma */ 2569e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_fw_y[4][4]; 2570e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Unclipped backward motion vector for luma */ 2571e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_bw_y[1][1]; 2572e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Unclipped backward motion vector for chroma */ 2573e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_bw_c[2]; 2574e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Unclipped forward motion vector for chroma */ 2575e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 mv_fw_c[2]; 2576e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Clipped forward motion vector for luma */ 2577e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cmv_fw_y[4][4]; 2578e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Clipped backward motion vector for luma */ 2579e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cmv_bw_y[4][4]; 2580e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Clipped forward motion vector for chroma */ 2581e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cmv_fw_c[4][4]; 2582e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Clipped backward motion vector for chroma */ 2583e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 cmv_bw_c[4][4]; 2584e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2585e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_VIDEO_VC1VDEC_MbInfo; 2586e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2587c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* OMX_TI_VIDEO_H */ 2588c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2589