1*495ae853SAndroid Build Coastguard Worker /****************************************************************************** 2*495ae853SAndroid Build Coastguard Worker * 3*495ae853SAndroid Build Coastguard Worker * Copyright (C) 2015 The Android Open Source Project 4*495ae853SAndroid Build Coastguard Worker * 5*495ae853SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*495ae853SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*495ae853SAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*495ae853SAndroid Build Coastguard Worker * 9*495ae853SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*495ae853SAndroid Build Coastguard Worker * 11*495ae853SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*495ae853SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*495ae853SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*495ae853SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*495ae853SAndroid Build Coastguard Worker * limitations under the License. 16*495ae853SAndroid Build Coastguard Worker * 17*495ae853SAndroid Build Coastguard Worker ***************************************************************************** 18*495ae853SAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*495ae853SAndroid Build Coastguard Worker */ 20*495ae853SAndroid Build Coastguard Worker /** 21*495ae853SAndroid Build Coastguard Worker ******************************************************************************* 22*495ae853SAndroid Build Coastguard Worker * @file 23*495ae853SAndroid Build Coastguard Worker * ive2.h 24*495ae853SAndroid Build Coastguard Worker * 25*495ae853SAndroid Build Coastguard Worker * @brief 26*495ae853SAndroid Build Coastguard Worker * This file contains all the necessary structure and enumeration definitions 27*495ae853SAndroid Build Coastguard Worker * needed for the Application Program Interface(API) of the Ittiam Video 28*495ae853SAndroid Build Coastguard Worker * Encoders. This is version 2 29*495ae853SAndroid Build Coastguard Worker * 30*495ae853SAndroid Build Coastguard Worker * @author 31*495ae853SAndroid Build Coastguard Worker * ittiam 32*495ae853SAndroid Build Coastguard Worker * 33*495ae853SAndroid Build Coastguard Worker * @remarks 34*495ae853SAndroid Build Coastguard Worker * none 35*495ae853SAndroid Build Coastguard Worker * 36*495ae853SAndroid Build Coastguard Worker ******************************************************************************* 37*495ae853SAndroid Build Coastguard Worker */ 38*495ae853SAndroid Build Coastguard Worker 39*495ae853SAndroid Build Coastguard Worker #ifndef _IVE2_H_ 40*495ae853SAndroid Build Coastguard Worker #define _IVE2_H_ 41*495ae853SAndroid Build Coastguard Worker 42*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 43*495ae853SAndroid Build Coastguard Worker /* Constant Macros */ 44*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 45*495ae853SAndroid Build Coastguard Worker 46*495ae853SAndroid Build Coastguard Worker /** Maximum number of components in I/O Buffers */ 47*495ae853SAndroid Build Coastguard Worker #define IVE_MAX_IO_BUFFER_COMPONENTS 4 48*495ae853SAndroid Build Coastguard Worker 49*495ae853SAndroid Build Coastguard Worker /** Maximum number of reference pictures */ 50*495ae853SAndroid Build Coastguard Worker #define IVE_MAX_REF 16 51*495ae853SAndroid Build Coastguard Worker 52*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 53*495ae853SAndroid Build Coastguard Worker /* Enums */ 54*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 55*495ae853SAndroid Build Coastguard Worker 56*495ae853SAndroid Build Coastguard Worker /** Slice modes */ 57*495ae853SAndroid Build Coastguard Worker typedef enum 58*495ae853SAndroid Build Coastguard Worker { 59*495ae853SAndroid Build Coastguard Worker IVE_SLICE_MODE_NA = 0x7FFFFFFF, 60*495ae853SAndroid Build Coastguard Worker IVE_SLICE_MODE_NONE = 0x0, 61*495ae853SAndroid Build Coastguard Worker 62*495ae853SAndroid Build Coastguard Worker IVE_SLICE_MODE_BYTES = 0x1, 63*495ae853SAndroid Build Coastguard Worker IVE_SLICE_MODE_BLOCKS = 0x2, 64*495ae853SAndroid Build Coastguard Worker }IVE_SLICE_MODE_T; 65*495ae853SAndroid Build Coastguard Worker 66*495ae853SAndroid Build Coastguard Worker /** Adaptive Intra refresh modes */ 67*495ae853SAndroid Build Coastguard Worker typedef enum 68*495ae853SAndroid Build Coastguard Worker { 69*495ae853SAndroid Build Coastguard Worker IVE_AIR_MODE_NA = 0x7FFFFFFF, 70*495ae853SAndroid Build Coastguard Worker IVE_AIR_MODE_NONE = 0x0, 71*495ae853SAndroid Build Coastguard Worker IVE_AIR_MODE_CYCLIC = 0x1, 72*495ae853SAndroid Build Coastguard Worker IVE_AIR_MODE_RANDOM = 0x2, 73*495ae853SAndroid Build Coastguard Worker IVE_AIR_MODE_DISTORTION = 0x3, 74*495ae853SAndroid Build Coastguard Worker }IVE_AIR_MODE_T; 75*495ae853SAndroid Build Coastguard Worker 76*495ae853SAndroid Build Coastguard Worker /** Rate control modes */ 77*495ae853SAndroid Build Coastguard Worker typedef enum 78*495ae853SAndroid Build Coastguard Worker { 79*495ae853SAndroid Build Coastguard Worker IVE_RC_NA = 0x7FFFFFFF, 80*495ae853SAndroid Build Coastguard Worker IVE_RC_NONE = 0x0, 81*495ae853SAndroid Build Coastguard Worker IVE_RC_STORAGE = 0x1, 82*495ae853SAndroid Build Coastguard Worker IVE_RC_CBR_NON_LOW_DELAY = 0x2, 83*495ae853SAndroid Build Coastguard Worker IVE_RC_CBR_LOW_DELAY = 0x3, 84*495ae853SAndroid Build Coastguard Worker IVE_RC_TWOPASS = 0x4, 85*495ae853SAndroid Build Coastguard Worker IVE_RC_RATECONTROLPRESET_DEFAULT = IVE_RC_STORAGE 86*495ae853SAndroid Build Coastguard Worker }IVE_RC_MODE_T; 87*495ae853SAndroid Build Coastguard Worker 88*495ae853SAndroid Build Coastguard Worker /** Encoder mode */ 89*495ae853SAndroid Build Coastguard Worker typedef enum 90*495ae853SAndroid Build Coastguard Worker { 91*495ae853SAndroid Build Coastguard Worker IVE_ENC_MODE_NA = 0x7FFFFFFF, 92*495ae853SAndroid Build Coastguard Worker IVE_ENC_MODE_HEADER = 0x1, 93*495ae853SAndroid Build Coastguard Worker IVE_ENC_MODE_PICTURE = 0x0, 94*495ae853SAndroid Build Coastguard Worker IVE_ENC_MODE_DEFAULT = IVE_ENC_MODE_PICTURE, 95*495ae853SAndroid Build Coastguard Worker }IVE_ENC_MODE_T; 96*495ae853SAndroid Build Coastguard Worker 97*495ae853SAndroid Build Coastguard Worker /** Speed Config */ 98*495ae853SAndroid Build Coastguard Worker typedef enum IVE_SPEED_CONFIG 99*495ae853SAndroid Build Coastguard Worker { 100*495ae853SAndroid Build Coastguard Worker IVE_QUALITY_DUMMY = 0x7FFFFFFF, 101*495ae853SAndroid Build Coastguard Worker IVE_CONFIG = 0, 102*495ae853SAndroid Build Coastguard Worker IVE_SLOWEST = 1, 103*495ae853SAndroid Build Coastguard Worker IVE_NORMAL = 2, 104*495ae853SAndroid Build Coastguard Worker IVE_FAST = 3, 105*495ae853SAndroid Build Coastguard Worker IVE_HIGH_SPEED = 4, 106*495ae853SAndroid Build Coastguard Worker IVE_FASTEST = 5, 107*495ae853SAndroid Build Coastguard Worker }IVE_SPEED_CONFIG; 108*495ae853SAndroid Build Coastguard Worker 109*495ae853SAndroid Build Coastguard Worker /** API command type */ 110*495ae853SAndroid Build Coastguard Worker typedef enum 111*495ae853SAndroid Build Coastguard Worker { 112*495ae853SAndroid Build Coastguard Worker IVE_CMD_VIDEO_NA = 0x7FFFFFFF, 113*495ae853SAndroid Build Coastguard Worker IVE_CMD_VIDEO_CTL = IV_CMD_EXTENSIONS + 1, 114*495ae853SAndroid Build Coastguard Worker IVE_CMD_VIDEO_ENCODE, 115*495ae853SAndroid Build Coastguard Worker IVE_CMD_QUEUE_INPUT, 116*495ae853SAndroid Build Coastguard Worker IVE_CMD_DEQUEUE_INPUT, 117*495ae853SAndroid Build Coastguard Worker IVE_CMD_QUEUE_OUTPUT, 118*495ae853SAndroid Build Coastguard Worker IVE_CMD_DEQUEUE_OUTPUT, 119*495ae853SAndroid Build Coastguard Worker IVE_CMD_GET_RECON, 120*495ae853SAndroid Build Coastguard Worker }IVE_API_COMMAND_TYPE_T; 121*495ae853SAndroid Build Coastguard Worker 122*495ae853SAndroid Build Coastguard Worker /** Video Control API command type */ 123*495ae853SAndroid Build Coastguard Worker typedef enum 124*495ae853SAndroid Build Coastguard Worker { 125*495ae853SAndroid Build Coastguard Worker IVE_CMD_CT_NA = 0x7FFFFFFF, 126*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SETDEFAULT = 0x0, 127*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_DIMENSIONS = 0x1, 128*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_FRAMERATE = 0x2, 129*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_BITRATE = 0x3, 130*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_FRAMETYPE = 0x4, 131*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_QP = 0x5, 132*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_ENC_MODE = 0x6, 133*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_VBV_PARAMS = 0x7, 134*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_AIR_PARAMS = 0x8, 135*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_ME_PARAMS = 0X9, 136*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_GOP_PARAMS = 0XA, 137*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_PROFILE_PARAMS = 0XB, 138*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_DEBLOCK_PARAMS = 0XC, 139*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_IPE_PARAMS = 0XD, 140*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_VUI_PARAMS = 0XE, 141*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_NUM_CORES = 0x30, 142*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_RESET = 0xA0, 143*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_FLUSH = 0xB0, 144*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_GETBUFINFO = 0xC0, 145*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_GETVERSION = 0xC1, 146*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_SEI_MDCV_PARAMS = 0xD0, 147*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_SEI_CLL_PARAMS = 0xD1, 148*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_SEI_AVE_PARAMS = 0xD2, 149*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_SEI_CCV_PARAMS = 0xD3, 150*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_SET_SEI_SII_PARAMS = 0xD4, 151*495ae853SAndroid Build Coastguard Worker IVE_CMD_CTL_CODEC_SUBCMD_START = 0x100, 152*495ae853SAndroid Build Coastguard Worker }IVE_CONTROL_API_COMMAND_TYPE_T; 153*495ae853SAndroid Build Coastguard Worker 154*495ae853SAndroid Build Coastguard Worker /* IVE_ERROR_BITS_T: A UWORD32 container will be used for reporting the error*/ 155*495ae853SAndroid Build Coastguard Worker /* code to the application. The first 8 bits starting from LSB have been */ 156*495ae853SAndroid Build Coastguard Worker /* reserved for the codec to report internal error details. The rest of the */ 157*495ae853SAndroid Build Coastguard Worker /* bits will be generic for all video encoders and each bit has an associated*/ 158*495ae853SAndroid Build Coastguard Worker /* meaning as mentioned below. The unused bit fields are reserved for future */ 159*495ae853SAndroid Build Coastguard Worker /* extenstions and will be zero in the current implementation */ 160*495ae853SAndroid Build Coastguard Worker typedef enum { 161*495ae853SAndroid Build Coastguard Worker 162*495ae853SAndroid Build Coastguard Worker /* Bit 8 - Unsupported input parameter or configuration. */ 163*495ae853SAndroid Build Coastguard Worker IVE_UNSUPPORTEDPARAM = 0x8, 164*495ae853SAndroid Build Coastguard Worker 165*495ae853SAndroid Build Coastguard Worker /* Bit 9 - Fatal error (stop the codec).If there is an */ 166*495ae853SAndroid Build Coastguard Worker /* error and this bit is not set, the error is a recoverable one. */ 167*495ae853SAndroid Build Coastguard Worker IVE_FATALERROR = 0x9, 168*495ae853SAndroid Build Coastguard Worker 169*495ae853SAndroid Build Coastguard Worker IVE_ERROR_BITS_T_DUMMY_ELEMENT = 0x7FFFFFFF 170*495ae853SAndroid Build Coastguard Worker }IVE_ERROR_BITS_T; 171*495ae853SAndroid Build Coastguard Worker 172*495ae853SAndroid Build Coastguard Worker /* IVE_ERROR_CODES_T: The list of error codes depicting the possible error */ 173*495ae853SAndroid Build Coastguard Worker /* scenarios that can be encountered while encoding */ 174*495ae853SAndroid Build Coastguard Worker typedef enum 175*495ae853SAndroid Build Coastguard Worker { 176*495ae853SAndroid Build Coastguard Worker 177*495ae853SAndroid Build Coastguard Worker IVE_ERR_NA = 0x7FFFFFFF, 178*495ae853SAndroid Build Coastguard Worker IVE_ERR_NONE = 0x00, 179*495ae853SAndroid Build Coastguard Worker IVE_ERR_INVALID_API_CMD = 0x01, 180*495ae853SAndroid Build Coastguard Worker IVE_ERR_INVALID_API_SUB_CMD = 0x02, 181*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_GET_MEM_REC_API_STRUCT_SIZE_INCORRECT = 0x03, 182*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_GET_MEM_REC_API_STRUCT_SIZE_INCORRECT = 0x04, 183*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_FILL_MEM_REC_API_STRUCT_SIZE_INCORRECT = 0x05, 184*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_FILL_MEM_REC_API_STRUCT_SIZE_INCORRECT = 0x06, 185*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_INIT_API_STRUCT_SIZE_INCORRECT = 0x07, 186*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_INIT_API_STRUCT_SIZE_INCORRECT = 0x08, 187*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_RETRIEVE_MEM_REC_API_STRUCT_SIZE_INCORRECT = 0x09, 188*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_RETRIEVE_MEM_REC_API_STRUCT_SIZE_INCORRECT = 0x0A, 189*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_ENCODE_API_STRUCT_SIZE_INCORRECT = 0x0B, 190*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_ENCODE_API_STRUCT_SIZE_INCORRECT = 0x0C, 191*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETDEF_API_STRUCT_SIZE_INCORRECT = 0x0D, 192*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETDEF_API_STRUCT_SIZE_INCORRECT = 0x0E, 193*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_GETBUFINFO_API_STRUCT_SIZE_INCORRECT = 0x0F, 194*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_GETBUFINFO_API_STRUCT_SIZE_INCORRECT = 0x10, 195*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_GETVERSION_API_STRUCT_SIZE_INCORRECT = 0x11, 196*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_GETVERSION_API_STRUCT_SIZE_INCORRECT = 0x12, 197*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_FLUSH_API_STRUCT_SIZE_INCORRECT = 0x13, 198*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_FLUSH_API_STRUCT_SIZE_INCORRECT = 0x14, 199*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_RESET_API_STRUCT_SIZE_INCORRECT = 0x15, 200*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_RESET_API_STRUCT_SIZE_INCORRECT = 0x16, 201*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETCORES_API_STRUCT_SIZE_INCORRECT = 0x17, 202*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETCORES_API_STRUCT_SIZE_INCORRECT = 0x18, 203*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETDIM_API_STRUCT_SIZE_INCORRECT = 0x19, 204*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETDIM_API_STRUCT_SIZE_INCORRECT = 0x1A, 205*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETFRAMERATE_API_STRUCT_SIZE_INCORRECT = 0x1B, 206*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETFRAMERATE_API_STRUCT_SIZE_INCORRECT = 0x1C, 207*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETBITRATE_API_STRUCT_SIZE_INCORRECT = 0x1D, 208*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETBITRATE_API_STRUCT_SIZE_INCORRECT = 0x1E, 209*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETFRAMETYPE_API_STRUCT_SIZE_INCORRECT = 0x1F, 210*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETFRAMETYPE_API_STRUCT_SIZE_INCORRECT = 0x20, 211*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETMEPARAMS_API_STRUCT_SIZE_INCORRECT = 0x21, 212*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETMEPARAMS_API_STRUCT_SIZE_INCORRECT = 0x22, 213*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETIPEPARAMS_API_STRUCT_SIZE_INCORRECT = 0x23, 214*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETIPEPARAMS_API_STRUCT_SIZE_INCORRECT = 0x24, 215*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETGOPPARAMS_API_STRUCT_SIZE_INCORRECT = 0x25, 216*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETGOPPARAMS_API_STRUCT_SIZE_INCORRECT = 0x26, 217*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETDEBLKPARAMS_API_STRUCT_SIZE_INCORRECT = 0x27, 218*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETDEBLKPARAMS_API_STRUCT_SIZE_INCORRECT = 0x28, 219*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETQPPARAMS_API_STRUCT_SIZE_INCORRECT = 0x29, 220*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETQPPARAMS_API_STRUCT_SIZE_INCORRECT = 0x2A, 221*495ae853SAndroid Build Coastguard Worker IVE_ERR_FILL_NUM_MEM_RECS_POINTER_NULL = 0x2B, 222*495ae853SAndroid Build Coastguard Worker IVE_ERR_NUM_MEM_REC_NOT_SUFFICIENT = 0x2C, 223*495ae853SAndroid Build Coastguard Worker IVE_ERR_MEM_REC_STRUCT_SIZE_INCORRECT = 0x2D, 224*495ae853SAndroid Build Coastguard Worker IVE_ERR_MEM_REC_BASE_POINTER_NULL = 0x2E, 225*495ae853SAndroid Build Coastguard Worker IVE_ERR_MEM_REC_OVERLAP_ERR = 0x2F, 226*495ae853SAndroid Build Coastguard Worker IVE_ERR_MEM_REC_INSUFFICIENT_SIZE = 0x30, 227*495ae853SAndroid Build Coastguard Worker IVE_ERR_MEM_REC_ALIGNMENT_ERR = 0x31, 228*495ae853SAndroid Build Coastguard Worker IVE_ERR_MEM_REC_INCORRECT_TYPE = 0x32, 229*495ae853SAndroid Build Coastguard Worker IVE_ERR_HANDLE_NULL = 0x33, 230*495ae853SAndroid Build Coastguard Worker IVE_ERR_HANDLE_STRUCT_SIZE_INCORRECT = 0x34, 231*495ae853SAndroid Build Coastguard Worker IVE_ERR_API_FUNCTION_PTR_NULL = 0x35, 232*495ae853SAndroid Build Coastguard Worker IVE_ERR_INVALID_CODEC_HANDLE = 0x36, 233*495ae853SAndroid Build Coastguard Worker IVE_ERR_CTL_GET_VERSION_BUFFER_IS_NULL = 0x37, 234*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETAIRPARAMS_API_STRUCT_SIZE_INCORRECT = 0x38, 235*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETAIRPARAMS_API_STRUCT_SIZE_INCORRECT = 0x39, 236*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETENCMODE_API_STRUCT_SIZE_INCORRECT = 0x3A, 237*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETENCMODE_API_STRUCT_SIZE_INCORRECT = 0x3B, 238*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETVBVPARAMS_API_STRUCT_SIZE_INCORRECT = 0x3C, 239*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETVBVPARAMS_API_STRUCT_SIZE_INCORRECT = 0x3D, 240*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SETPROFILE_API_STRUCT_SIZE_INCORRECT = 0x3E, 241*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SETPROFILE_API_STRUCT_SIZE_INCORRECT = 0x3F, 242*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SET_VUI_STRUCT_SIZE_INCORRECT = 0x40, 243*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SET_VUI_STRUCT_SIZE_INCORRECT = 0x41, 244*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SET_SEI_MDCV_STRUCT_SIZE_INCORRECT = 0x42, 245*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SET_SEI_MDCV_STRUCT_SIZE_INCORRECT = 0x43, 246*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SET_SEI_CLL_STRUCT_SIZE_INCORRECT = 0x44, 247*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SET_SEI_CLL_STRUCT_SIZE_INCORRECT = 0x45, 248*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SET_SEI_AVE_STRUCT_SIZE_INCORRECT = 0x46, 249*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SET_SEI_AVE_STRUCT_SIZE_INCORRECT = 0x47, 250*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SET_SEI_CCV_STRUCT_SIZE_INCORRECT = 0x48, 251*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SET_SEI_CCV_STRUCT_SIZE_INCORRECT = 0x49, 252*495ae853SAndroid Build Coastguard Worker IVE_ERR_IP_CTL_SET_SEI_SII_STRUCT_SIZE_INCORRECT = 0x4A, 253*495ae853SAndroid Build Coastguard Worker IVE_ERR_OP_CTL_SET_SEI_SII_STRUCT_SIZE_INCORRECT = 0x4B, 254*495ae853SAndroid Build Coastguard Worker }IVE_ERROR_CODES_T; 255*495ae853SAndroid Build Coastguard Worker 256*495ae853SAndroid Build Coastguard Worker 257*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 258*495ae853SAndroid Build Coastguard Worker /* Initialize encoder */ 259*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 260*495ae853SAndroid Build Coastguard Worker 261*495ae853SAndroid Build Coastguard Worker /** Input structure : Initialize the encoder */ 262*495ae853SAndroid Build Coastguard Worker typedef struct 263*495ae853SAndroid Build Coastguard Worker { 264*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 265*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 266*495ae853SAndroid Build Coastguard Worker 267*495ae853SAndroid Build Coastguard Worker /** Command type */ 268*495ae853SAndroid Build Coastguard Worker IV_API_COMMAND_TYPE_T e_cmd; 269*495ae853SAndroid Build Coastguard Worker 270*495ae853SAndroid Build Coastguard Worker /** Number of memory records */ 271*495ae853SAndroid Build Coastguard Worker UWORD32 u4_num_mem_rec; 272*495ae853SAndroid Build Coastguard Worker 273*495ae853SAndroid Build Coastguard Worker /** pointer to array of memrecords structures should be filled by codec 274*495ae853SAndroid Build Coastguard Worker with details of memory resource requirements */ 275*495ae853SAndroid Build Coastguard Worker iv_mem_rec_t *ps_mem_rec; 276*495ae853SAndroid Build Coastguard Worker 277*495ae853SAndroid Build Coastguard Worker /** maximum width for which codec should request memory requirements */ 278*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_wd; 279*495ae853SAndroid Build Coastguard Worker 280*495ae853SAndroid Build Coastguard Worker /** maximum height for which codec should request memory requirements */ 281*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_ht; 282*495ae853SAndroid Build Coastguard Worker 283*495ae853SAndroid Build Coastguard Worker /** Maximum number of reference frames */ 284*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_ref_cnt; 285*495ae853SAndroid Build Coastguard Worker 286*495ae853SAndroid Build Coastguard Worker /** Maximum number of reorder frames */ 287*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_reorder_cnt; 288*495ae853SAndroid Build Coastguard Worker 289*495ae853SAndroid Build Coastguard Worker /** Maximum level supported */ 290*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_level; 291*495ae853SAndroid Build Coastguard Worker 292*495ae853SAndroid Build Coastguard Worker /** Input color format */ 293*495ae853SAndroid Build Coastguard Worker IV_COLOR_FORMAT_T e_inp_color_fmt; 294*495ae853SAndroid Build Coastguard Worker 295*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable - To be used only for debugging/testing */ 296*495ae853SAndroid Build Coastguard Worker UWORD32 u4_enable_recon; 297*495ae853SAndroid Build Coastguard Worker 298*495ae853SAndroid Build Coastguard Worker /** Recon color format */ 299*495ae853SAndroid Build Coastguard Worker IV_COLOR_FORMAT_T e_recon_color_fmt; 300*495ae853SAndroid Build Coastguard Worker 301*495ae853SAndroid Build Coastguard Worker /** Rate control mode */ 302*495ae853SAndroid Build Coastguard Worker IVE_RC_MODE_T e_rc_mode; 303*495ae853SAndroid Build Coastguard Worker 304*495ae853SAndroid Build Coastguard Worker /** Maximum frame rate to be supported */ 305*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_framerate; 306*495ae853SAndroid Build Coastguard Worker 307*495ae853SAndroid Build Coastguard Worker /** Maximum bitrate to be supported */ 308*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_bitrate; 309*495ae853SAndroid Build Coastguard Worker 310*495ae853SAndroid Build Coastguard Worker /** Maximum number of consecutive B frames */ 311*495ae853SAndroid Build Coastguard Worker UWORD32 u4_num_bframes; 312*495ae853SAndroid Build Coastguard Worker 313*495ae853SAndroid Build Coastguard Worker /** Content type Interlaced/Progressive */ 314*495ae853SAndroid Build Coastguard Worker IV_CONTENT_TYPE_T e_content_type; 315*495ae853SAndroid Build Coastguard Worker 316*495ae853SAndroid Build Coastguard Worker /** Maximum search range to be used in X direction */ 317*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_srch_rng_x; 318*495ae853SAndroid Build Coastguard Worker 319*495ae853SAndroid Build Coastguard Worker /** Maximum search range to be used in Y direction */ 320*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_srch_rng_y; 321*495ae853SAndroid Build Coastguard Worker 322*495ae853SAndroid Build Coastguard Worker /** Slice Mode */ 323*495ae853SAndroid Build Coastguard Worker IVE_SLICE_MODE_T e_slice_mode; 324*495ae853SAndroid Build Coastguard Worker 325*495ae853SAndroid Build Coastguard Worker /** Slice parameter */ 326*495ae853SAndroid Build Coastguard Worker UWORD32 u4_slice_param; 327*495ae853SAndroid Build Coastguard Worker 328*495ae853SAndroid Build Coastguard Worker /** Processor architecture */ 329*495ae853SAndroid Build Coastguard Worker IV_ARCH_T e_arch; 330*495ae853SAndroid Build Coastguard Worker 331*495ae853SAndroid Build Coastguard Worker /** SOC details */ 332*495ae853SAndroid Build Coastguard Worker IV_SOC_T e_soc; 333*495ae853SAndroid Build Coastguard Worker 334*495ae853SAndroid Build Coastguard Worker 335*495ae853SAndroid Build Coastguard Worker }ive_init_ip_t; 336*495ae853SAndroid Build Coastguard Worker 337*495ae853SAndroid Build Coastguard Worker /** Output structure : Initialize the encoder */ 338*495ae853SAndroid Build Coastguard Worker typedef struct 339*495ae853SAndroid Build Coastguard Worker { 340*495ae853SAndroid Build Coastguard Worker /** Size of the structure */ 341*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 342*495ae853SAndroid Build Coastguard Worker 343*495ae853SAndroid Build Coastguard Worker /** Return error code */ 344*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 345*495ae853SAndroid Build Coastguard Worker }ive_init_op_t; 346*495ae853SAndroid Build Coastguard Worker 347*495ae853SAndroid Build Coastguard Worker 348*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 349*495ae853SAndroid Build Coastguard Worker /* Video Encode - Deprecated */ 350*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 351*495ae853SAndroid Build Coastguard Worker 352*495ae853SAndroid Build Coastguard Worker typedef struct 353*495ae853SAndroid Build Coastguard Worker { 354*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 355*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 356*495ae853SAndroid Build Coastguard Worker 357*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 358*495ae853SAndroid Build Coastguard Worker 359*495ae853SAndroid Build Coastguard Worker /** Descriptor for input raw buffer */ 360*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_inp_buf; 361*495ae853SAndroid Build Coastguard Worker 362*495ae853SAndroid Build Coastguard Worker /** Buffer containing pic info if mb_info_type is non-zero */ 363*495ae853SAndroid Build Coastguard Worker void *pv_bufs; 364*495ae853SAndroid Build Coastguard Worker 365*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if mb info is sent along with input buffer */ 366*495ae853SAndroid Build Coastguard Worker UWORD32 u4_mb_info_type; 367*495ae853SAndroid Build Coastguard Worker 368*495ae853SAndroid Build Coastguard Worker /** Buffer containing mb info if mb_info_type is non-zero */ 369*495ae853SAndroid Build Coastguard Worker void *pv_mb_info; 370*495ae853SAndroid Build Coastguard Worker 371*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if pic info is sent along with input buffer */ 372*495ae853SAndroid Build Coastguard Worker UWORD32 u4_pic_info_type; 373*495ae853SAndroid Build Coastguard Worker 374*495ae853SAndroid Build Coastguard Worker /** Buffer containing pic info if mb_info_type is non-zero */ 375*495ae853SAndroid Build Coastguard Worker void *pv_pic_info; 376*495ae853SAndroid Build Coastguard Worker 377*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of input time stamp */ 378*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 379*495ae853SAndroid Build Coastguard Worker 380*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of input time stamp */ 381*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 382*495ae853SAndroid Build Coastguard Worker 383*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last input in the stream */ 384*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 385*495ae853SAndroid Build Coastguard Worker 386*495ae853SAndroid Build Coastguard Worker /** Descriptor for output bit-stream buffer */ 387*495ae853SAndroid Build Coastguard Worker iv_bits_buf_t s_out_buf; 388*495ae853SAndroid Build Coastguard Worker 389*495ae853SAndroid Build Coastguard Worker /** Descriptor for recon buffer */ 390*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_recon_buf; 391*495ae853SAndroid Build Coastguard Worker 392*495ae853SAndroid Build Coastguard Worker }ive_video_encode_ip_t; 393*495ae853SAndroid Build Coastguard Worker 394*495ae853SAndroid Build Coastguard Worker 395*495ae853SAndroid Build Coastguard Worker typedef struct 396*495ae853SAndroid Build Coastguard Worker { 397*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 398*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 399*495ae853SAndroid Build Coastguard Worker 400*495ae853SAndroid Build Coastguard Worker /** error code */ 401*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 402*495ae853SAndroid Build Coastguard Worker 403*495ae853SAndroid Build Coastguard Worker /* Output present */ 404*495ae853SAndroid Build Coastguard Worker WORD32 output_present; 405*495ae853SAndroid Build Coastguard Worker 406*495ae853SAndroid Build Coastguard Worker /* dump recon */ 407*495ae853SAndroid Build Coastguard Worker WORD32 dump_recon; 408*495ae853SAndroid Build Coastguard Worker 409*495ae853SAndroid Build Coastguard Worker /* encoded frame type */ 410*495ae853SAndroid Build Coastguard Worker UWORD32 u4_encoded_frame_type; 411*495ae853SAndroid Build Coastguard Worker 412*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last output from the encoder */ 413*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 414*495ae853SAndroid Build Coastguard Worker 415*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of input time stamp */ 416*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 417*495ae853SAndroid Build Coastguard Worker 418*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of input time stamp */ 419*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 420*495ae853SAndroid Build Coastguard Worker 421*495ae853SAndroid Build Coastguard Worker /** Descriptor for input raw buffer freed from codec */ 422*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_inp_buf; 423*495ae853SAndroid Build Coastguard Worker 424*495ae853SAndroid Build Coastguard Worker /** Descriptor for output bit-stream buffer */ 425*495ae853SAndroid Build Coastguard Worker iv_bits_buf_t s_out_buf; 426*495ae853SAndroid Build Coastguard Worker 427*495ae853SAndroid Build Coastguard Worker /** Descriptor for recon buffer */ 428*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_recon_buf; 429*495ae853SAndroid Build Coastguard Worker 430*495ae853SAndroid Build Coastguard Worker }ive_video_encode_op_t; 431*495ae853SAndroid Build Coastguard Worker 432*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 433*495ae853SAndroid Build Coastguard Worker /* Queue Input raw buffer - Send the YUV buffer to be encoded */ 434*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 435*495ae853SAndroid Build Coastguard Worker /** Input structure : Queue input buffer to the encoder */ 436*495ae853SAndroid Build Coastguard Worker typedef struct 437*495ae853SAndroid Build Coastguard Worker { 438*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 439*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 440*495ae853SAndroid Build Coastguard Worker 441*495ae853SAndroid Build Coastguard Worker /** Command : IVE_CMD_QUEUE_INPUT */ 442*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 443*495ae853SAndroid Build Coastguard Worker 444*495ae853SAndroid Build Coastguard Worker /** Descriptor for input raw buffer */ 445*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_inp_buf; 446*495ae853SAndroid Build Coastguard Worker 447*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if mb info is sent along with input buffer */ 448*495ae853SAndroid Build Coastguard Worker UWORD32 u4_mb_info_type; 449*495ae853SAndroid Build Coastguard Worker 450*495ae853SAndroid Build Coastguard Worker /** Flag to indicate the size of mb info structure */ 451*495ae853SAndroid Build Coastguard Worker UWORD32 u4_mb_info_size; 452*495ae853SAndroid Build Coastguard Worker 453*495ae853SAndroid Build Coastguard Worker /** Buffer containing mb info if mb_info_type is non-zero */ 454*495ae853SAndroid Build Coastguard Worker void *pv_mb_info; 455*495ae853SAndroid Build Coastguard Worker 456*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if pic info is sent along with input buffer */ 457*495ae853SAndroid Build Coastguard Worker UWORD32 u4_pic_info_type; 458*495ae853SAndroid Build Coastguard Worker 459*495ae853SAndroid Build Coastguard Worker /** Buffer containing pic info if mb_info_type is non-zero */ 460*495ae853SAndroid Build Coastguard Worker void *pv_pic_info; 461*495ae853SAndroid Build Coastguard Worker 462*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of input time stamp */ 463*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 464*495ae853SAndroid Build Coastguard Worker 465*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of input time stamp */ 466*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 467*495ae853SAndroid Build Coastguard Worker 468*495ae853SAndroid Build Coastguard Worker 469*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable blocking the current API call */ 470*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_blocking; 471*495ae853SAndroid Build Coastguard Worker 472*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last input in the stream */ 473*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 474*495ae853SAndroid Build Coastguard Worker 475*495ae853SAndroid Build Coastguard Worker }ive_queue_inp_ip_t; 476*495ae853SAndroid Build Coastguard Worker 477*495ae853SAndroid Build Coastguard Worker /** Input structure : Queue output buffer to the encoder */ 478*495ae853SAndroid Build Coastguard Worker typedef struct 479*495ae853SAndroid Build Coastguard Worker { 480*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 481*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 482*495ae853SAndroid Build Coastguard Worker 483*495ae853SAndroid Build Coastguard Worker /** Return error code */ 484*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 485*495ae853SAndroid Build Coastguard Worker }ive_queue_inp_op_t; 486*495ae853SAndroid Build Coastguard Worker 487*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 488*495ae853SAndroid Build Coastguard Worker /* Dequeue Input raw buffer - Get free YUV buffer from the encoder */ 489*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 490*495ae853SAndroid Build Coastguard Worker /** Input structure : Dequeue input buffer from the encoder */ 491*495ae853SAndroid Build Coastguard Worker 492*495ae853SAndroid Build Coastguard Worker typedef struct 493*495ae853SAndroid Build Coastguard Worker { 494*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 495*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 496*495ae853SAndroid Build Coastguard Worker 497*495ae853SAndroid Build Coastguard Worker /** Command: IVE_CMD_DEQUEUE_INPUT */ 498*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 499*495ae853SAndroid Build Coastguard Worker 500*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable blocking the current API call */ 501*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_blocking; 502*495ae853SAndroid Build Coastguard Worker 503*495ae853SAndroid Build Coastguard Worker }ive_dequeue_inp_ip_t; 504*495ae853SAndroid Build Coastguard Worker 505*495ae853SAndroid Build Coastguard Worker /** Output structure : Dequeue input buffer from the encoder */ 506*495ae853SAndroid Build Coastguard Worker typedef struct 507*495ae853SAndroid Build Coastguard Worker { 508*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 509*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 510*495ae853SAndroid Build Coastguard Worker 511*495ae853SAndroid Build Coastguard Worker /** Return error code */ 512*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 513*495ae853SAndroid Build Coastguard Worker 514*495ae853SAndroid Build Coastguard Worker /** Buffer descriptor of the buffer returned from encoder */ 515*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_inp_buf; 516*495ae853SAndroid Build Coastguard Worker 517*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if mb info is sent along with input buffer */ 518*495ae853SAndroid Build Coastguard Worker UWORD32 u4_mb_info_type; 519*495ae853SAndroid Build Coastguard Worker 520*495ae853SAndroid Build Coastguard Worker /** Flag to indicate the size of mb info structure */ 521*495ae853SAndroid Build Coastguard Worker UWORD32 u4_mb_info_size; 522*495ae853SAndroid Build Coastguard Worker 523*495ae853SAndroid Build Coastguard Worker /** Buffer containing mb info if mb_info_type is non-zero */ 524*495ae853SAndroid Build Coastguard Worker void *pv_mb_info; 525*495ae853SAndroid Build Coastguard Worker 526*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if pic info is sent along with input buffer */ 527*495ae853SAndroid Build Coastguard Worker UWORD32 u4_pic_info_type; 528*495ae853SAndroid Build Coastguard Worker 529*495ae853SAndroid Build Coastguard Worker /** Buffer containing pic info if mb_info_type is non-zero */ 530*495ae853SAndroid Build Coastguard Worker void *pv_pic_info; 531*495ae853SAndroid Build Coastguard Worker 532*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of input time stamp */ 533*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 534*495ae853SAndroid Build Coastguard Worker 535*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of input time stamp */ 536*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 537*495ae853SAndroid Build Coastguard Worker 538*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last input in the stream */ 539*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 540*495ae853SAndroid Build Coastguard Worker 541*495ae853SAndroid Build Coastguard Worker 542*495ae853SAndroid Build Coastguard Worker }ive_dequeue_inp_op_t; 543*495ae853SAndroid Build Coastguard Worker 544*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 545*495ae853SAndroid Build Coastguard Worker /* Queue Output bitstream buffer - Send the bistream buffer to be filled */ 546*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 547*495ae853SAndroid Build Coastguard Worker /** Input structure : Queue output buffer to the encoder */ 548*495ae853SAndroid Build Coastguard Worker 549*495ae853SAndroid Build Coastguard Worker typedef struct 550*495ae853SAndroid Build Coastguard Worker { 551*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 552*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 553*495ae853SAndroid Build Coastguard Worker 554*495ae853SAndroid Build Coastguard Worker /** Command : IVE_CMD_QUEUE_OUTPUT */ 555*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 556*495ae853SAndroid Build Coastguard Worker 557*495ae853SAndroid Build Coastguard Worker /** Descriptor for output bit-stream buffer */ 558*495ae853SAndroid Build Coastguard Worker iv_bits_buf_t s_out_buf; 559*495ae853SAndroid Build Coastguard Worker 560*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable blocking the current API call */ 561*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_blocking; 562*495ae853SAndroid Build Coastguard Worker 563*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last output in the stream */ 564*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 565*495ae853SAndroid Build Coastguard Worker 566*495ae853SAndroid Build Coastguard Worker }ive_queue_out_ip_t; 567*495ae853SAndroid Build Coastguard Worker 568*495ae853SAndroid Build Coastguard Worker /** Output structure : Queue output buffer to the encoder */ 569*495ae853SAndroid Build Coastguard Worker typedef struct 570*495ae853SAndroid Build Coastguard Worker { 571*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 572*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 573*495ae853SAndroid Build Coastguard Worker 574*495ae853SAndroid Build Coastguard Worker /** Return error code */ 575*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 576*495ae853SAndroid Build Coastguard Worker 577*495ae853SAndroid Build Coastguard Worker }ive_queue_out_op_t; 578*495ae853SAndroid Build Coastguard Worker 579*495ae853SAndroid Build Coastguard Worker 580*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 581*495ae853SAndroid Build Coastguard Worker /* Dequeue Output bitstream buffer - Get the bistream buffer filled */ 582*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 583*495ae853SAndroid Build Coastguard Worker /** Input structure : Dequeue output buffer from the encoder */ 584*495ae853SAndroid Build Coastguard Worker 585*495ae853SAndroid Build Coastguard Worker typedef struct 586*495ae853SAndroid Build Coastguard Worker { 587*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 588*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 589*495ae853SAndroid Build Coastguard Worker 590*495ae853SAndroid Build Coastguard Worker /** Command : IVE_CMD_DEQUEUE_OUTPUT */ 591*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 592*495ae853SAndroid Build Coastguard Worker 593*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable blocking the current API call */ 594*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_blocking; 595*495ae853SAndroid Build Coastguard Worker }ive_dequeue_out_ip_t; 596*495ae853SAndroid Build Coastguard Worker 597*495ae853SAndroid Build Coastguard Worker /** Output structure : Dequeue output buffer from the encoder */ 598*495ae853SAndroid Build Coastguard Worker typedef struct 599*495ae853SAndroid Build Coastguard Worker { 600*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 601*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 602*495ae853SAndroid Build Coastguard Worker 603*495ae853SAndroid Build Coastguard Worker /** Return error code */ 604*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 605*495ae853SAndroid Build Coastguard Worker 606*495ae853SAndroid Build Coastguard Worker /** Descriptor for output bit-stream buffer */ 607*495ae853SAndroid Build Coastguard Worker iv_bits_buf_t s_out_buf; 608*495ae853SAndroid Build Coastguard Worker 609*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of timestamp corresponding to this buffer */ 610*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 611*495ae853SAndroid Build Coastguard Worker 612*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of timestamp corresponding to this buffer */ 613*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 614*495ae853SAndroid Build Coastguard Worker 615*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last output in the stream */ 616*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 617*495ae853SAndroid Build Coastguard Worker 618*495ae853SAndroid Build Coastguard Worker }ive_dequeue_out_op_t; 619*495ae853SAndroid Build Coastguard Worker 620*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 621*495ae853SAndroid Build Coastguard Worker /* Get Recon data - Get the reconstructed data from encoder */ 622*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 623*495ae853SAndroid Build Coastguard Worker /** Input structure : Get recon data from the encoder */ 624*495ae853SAndroid Build Coastguard Worker 625*495ae853SAndroid Build Coastguard Worker typedef struct 626*495ae853SAndroid Build Coastguard Worker { 627*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 628*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 629*495ae853SAndroid Build Coastguard Worker 630*495ae853SAndroid Build Coastguard Worker /** Command : IVE_CMD_GET_RECON */ 631*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 632*495ae853SAndroid Build Coastguard Worker 633*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable blocking the current API call */ 634*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_blocking; 635*495ae853SAndroid Build Coastguard Worker 636*495ae853SAndroid Build Coastguard Worker /** Descriptor for recon buffer */ 637*495ae853SAndroid Build Coastguard Worker iv_raw_buf_t s_recon_buf; 638*495ae853SAndroid Build Coastguard Worker 639*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last recon in the stream */ 640*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 641*495ae853SAndroid Build Coastguard Worker 642*495ae853SAndroid Build Coastguard Worker }ive_get_recon_ip_t; 643*495ae853SAndroid Build Coastguard Worker 644*495ae853SAndroid Build Coastguard Worker /** Output structure : Get recon data from the encoder */ 645*495ae853SAndroid Build Coastguard Worker typedef struct 646*495ae853SAndroid Build Coastguard Worker { 647*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 648*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 649*495ae853SAndroid Build Coastguard Worker 650*495ae853SAndroid Build Coastguard Worker /** Return error code */ 651*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 652*495ae853SAndroid Build Coastguard Worker 653*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to this buffer */ 654*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 655*495ae853SAndroid Build Coastguard Worker 656*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to this buffer */ 657*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 658*495ae853SAndroid Build Coastguard Worker 659*495ae853SAndroid Build Coastguard Worker /** Flag to indicate if this is the last recon in the stream */ 660*495ae853SAndroid Build Coastguard Worker UWORD32 u4_is_last; 661*495ae853SAndroid Build Coastguard Worker 662*495ae853SAndroid Build Coastguard Worker }ive_get_recon_op_t; 663*495ae853SAndroid Build Coastguard Worker 664*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 665*495ae853SAndroid Build Coastguard Worker /* Video control Flush */ 666*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 667*495ae853SAndroid Build Coastguard Worker 668*495ae853SAndroid Build Coastguard Worker /** Input structure : Flush all the buffers from the encoder */ 669*495ae853SAndroid Build Coastguard Worker typedef struct 670*495ae853SAndroid Build Coastguard Worker { 671*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 672*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 673*495ae853SAndroid Build Coastguard Worker 674*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 675*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 676*495ae853SAndroid Build Coastguard Worker 677*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_FLUSH */ 678*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 679*495ae853SAndroid Build Coastguard Worker }ive_ctl_flush_ip_t; 680*495ae853SAndroid Build Coastguard Worker 681*495ae853SAndroid Build Coastguard Worker /** Output structure : Flush all the buffers from the encoder */ 682*495ae853SAndroid Build Coastguard Worker typedef struct 683*495ae853SAndroid Build Coastguard Worker { 684*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 685*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 686*495ae853SAndroid Build Coastguard Worker 687*495ae853SAndroid Build Coastguard Worker /** Return error code */ 688*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 689*495ae853SAndroid Build Coastguard Worker }ive_ctl_flush_op_t; 690*495ae853SAndroid Build Coastguard Worker 691*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 692*495ae853SAndroid Build Coastguard Worker /* Video control reset */ 693*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 694*495ae853SAndroid Build Coastguard Worker /** Input structure : Reset the encoder */ 695*495ae853SAndroid Build Coastguard Worker typedef struct 696*495ae853SAndroid Build Coastguard Worker { 697*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 698*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 699*495ae853SAndroid Build Coastguard Worker 700*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 701*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 702*495ae853SAndroid Build Coastguard Worker 703*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_RESET */ 704*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 705*495ae853SAndroid Build Coastguard Worker }ive_ctl_reset_ip_t; 706*495ae853SAndroid Build Coastguard Worker 707*495ae853SAndroid Build Coastguard Worker /** Output structure : Reset the encoder */ 708*495ae853SAndroid Build Coastguard Worker typedef struct 709*495ae853SAndroid Build Coastguard Worker { 710*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 711*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 712*495ae853SAndroid Build Coastguard Worker 713*495ae853SAndroid Build Coastguard Worker /** Return error code */ 714*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 715*495ae853SAndroid Build Coastguard Worker }ive_ctl_reset_op_t; 716*495ae853SAndroid Build Coastguard Worker 717*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 718*495ae853SAndroid Build Coastguard Worker /* Video control:Get Buf Info */ 719*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 720*495ae853SAndroid Build Coastguard Worker 721*495ae853SAndroid Build Coastguard Worker /** Input structure : Get encoder buffer requirements */ 722*495ae853SAndroid Build Coastguard Worker typedef struct 723*495ae853SAndroid Build Coastguard Worker { 724*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 725*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 726*495ae853SAndroid Build Coastguard Worker 727*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 728*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 729*495ae853SAndroid Build Coastguard Worker 730*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_GETBUFINFO */ 731*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 732*495ae853SAndroid Build Coastguard Worker 733*495ae853SAndroid Build Coastguard Worker /** maximum width for which codec should request memory requirements */ 734*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_wd; 735*495ae853SAndroid Build Coastguard Worker 736*495ae853SAndroid Build Coastguard Worker /** maximum height for which codec should request memory requirements */ 737*495ae853SAndroid Build Coastguard Worker UWORD32 u4_max_ht; 738*495ae853SAndroid Build Coastguard Worker 739*495ae853SAndroid Build Coastguard Worker /** Input color format */ 740*495ae853SAndroid Build Coastguard Worker IV_COLOR_FORMAT_T e_inp_color_fmt; 741*495ae853SAndroid Build Coastguard Worker 742*495ae853SAndroid Build Coastguard Worker }ive_ctl_getbufinfo_ip_t; 743*495ae853SAndroid Build Coastguard Worker 744*495ae853SAndroid Build Coastguard Worker /** Output structure : Get encoder buffer requirements */ 745*495ae853SAndroid Build Coastguard Worker typedef struct 746*495ae853SAndroid Build Coastguard Worker { 747*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 748*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 749*495ae853SAndroid Build Coastguard Worker 750*495ae853SAndroid Build Coastguard Worker /** Return error code */ 751*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 752*495ae853SAndroid Build Coastguard Worker 753*495ae853SAndroid Build Coastguard Worker /** Minimum number of input buffers required for codec */ 754*495ae853SAndroid Build Coastguard Worker UWORD32 u4_min_inp_bufs; 755*495ae853SAndroid Build Coastguard Worker 756*495ae853SAndroid Build Coastguard Worker /** Minimum number of output buffers required for codec */ 757*495ae853SAndroid Build Coastguard Worker UWORD32 u4_min_out_bufs; 758*495ae853SAndroid Build Coastguard Worker 759*495ae853SAndroid Build Coastguard Worker /** Number of components in input buffers required for codec */ 760*495ae853SAndroid Build Coastguard Worker UWORD32 u4_inp_comp_cnt; 761*495ae853SAndroid Build Coastguard Worker 762*495ae853SAndroid Build Coastguard Worker /** Number of components in output buffers required for codec */ 763*495ae853SAndroid Build Coastguard Worker UWORD32 u4_out_comp_cnt; 764*495ae853SAndroid Build Coastguard Worker 765*495ae853SAndroid Build Coastguard Worker /** Minimum sizes of each component in input buffer required */ 766*495ae853SAndroid Build Coastguard Worker UWORD32 au4_min_in_buf_size[IVE_MAX_IO_BUFFER_COMPONENTS]; 767*495ae853SAndroid Build Coastguard Worker 768*495ae853SAndroid Build Coastguard Worker /** Minimum sizes of each component in output buffer required */ 769*495ae853SAndroid Build Coastguard Worker UWORD32 au4_min_out_buf_size[IVE_MAX_IO_BUFFER_COMPONENTS]; 770*495ae853SAndroid Build Coastguard Worker 771*495ae853SAndroid Build Coastguard Worker }ive_ctl_getbufinfo_op_t; 772*495ae853SAndroid Build Coastguard Worker 773*495ae853SAndroid Build Coastguard Worker 774*495ae853SAndroid Build Coastguard Worker 775*495ae853SAndroid Build Coastguard Worker 776*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 777*495ae853SAndroid Build Coastguard Worker /* Video control:Get Version Info */ 778*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 779*495ae853SAndroid Build Coastguard Worker 780*495ae853SAndroid Build Coastguard Worker /** Input structure : Get encoder version information */ 781*495ae853SAndroid Build Coastguard Worker typedef struct 782*495ae853SAndroid Build Coastguard Worker { 783*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 784*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 785*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 786*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 787*495ae853SAndroid Build Coastguard Worker 788*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_GETVERSION */ 789*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 790*495ae853SAndroid Build Coastguard Worker 791*495ae853SAndroid Build Coastguard Worker /** Buffer where version info will be returned */ 792*495ae853SAndroid Build Coastguard Worker UWORD8 *pu1_version; 793*495ae853SAndroid Build Coastguard Worker 794*495ae853SAndroid Build Coastguard Worker /** Size of the buffer allocated for version info */ 795*495ae853SAndroid Build Coastguard Worker UWORD32 u4_version_bufsize; 796*495ae853SAndroid Build Coastguard Worker }ive_ctl_getversioninfo_ip_t; 797*495ae853SAndroid Build Coastguard Worker 798*495ae853SAndroid Build Coastguard Worker /** Output structure : Get encoder version information */ 799*495ae853SAndroid Build Coastguard Worker typedef struct 800*495ae853SAndroid Build Coastguard Worker { 801*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 802*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 803*495ae853SAndroid Build Coastguard Worker 804*495ae853SAndroid Build Coastguard Worker /** Return error code */ 805*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 806*495ae853SAndroid Build Coastguard Worker }ive_ctl_getversioninfo_op_t; 807*495ae853SAndroid Build Coastguard Worker 808*495ae853SAndroid Build Coastguard Worker 809*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 810*495ae853SAndroid Build Coastguard Worker /* Video control:set default params */ 811*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 812*495ae853SAndroid Build Coastguard Worker /** Input structure : Set default encoder parameters */ 813*495ae853SAndroid Build Coastguard Worker typedef struct 814*495ae853SAndroid Build Coastguard Worker { 815*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 816*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 817*495ae853SAndroid Build Coastguard Worker 818*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 819*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 820*495ae853SAndroid Build Coastguard Worker 821*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SETDEFAULT */ 822*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 823*495ae853SAndroid Build Coastguard Worker 824*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 825*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 826*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 827*495ae853SAndroid Build Coastguard Worker 828*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 829*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 830*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 831*495ae853SAndroid Build Coastguard Worker 832*495ae853SAndroid Build Coastguard Worker }ive_ctl_setdefault_ip_t; 833*495ae853SAndroid Build Coastguard Worker 834*495ae853SAndroid Build Coastguard Worker /** Output structure : Set default encoder parameters */ 835*495ae853SAndroid Build Coastguard Worker typedef struct 836*495ae853SAndroid Build Coastguard Worker { 837*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 838*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 839*495ae853SAndroid Build Coastguard Worker 840*495ae853SAndroid Build Coastguard Worker /** Return error code */ 841*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 842*495ae853SAndroid Build Coastguard Worker }ive_ctl_setdefault_op_t; 843*495ae853SAndroid Build Coastguard Worker 844*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 845*495ae853SAndroid Build Coastguard Worker /* Video control Set Frame dimensions */ 846*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 847*495ae853SAndroid Build Coastguard Worker 848*495ae853SAndroid Build Coastguard Worker /** Input structure : Set frame dimensions */ 849*495ae853SAndroid Build Coastguard Worker typedef struct 850*495ae853SAndroid Build Coastguard Worker { 851*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 852*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 853*495ae853SAndroid Build Coastguard Worker 854*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 855*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 856*495ae853SAndroid Build Coastguard Worker 857*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_DIMENSIONS */ 858*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 859*495ae853SAndroid Build Coastguard Worker 860*495ae853SAndroid Build Coastguard Worker /** Input width */ 861*495ae853SAndroid Build Coastguard Worker UWORD32 u4_wd; 862*495ae853SAndroid Build Coastguard Worker 863*495ae853SAndroid Build Coastguard Worker /** Input height */ 864*495ae853SAndroid Build Coastguard Worker UWORD32 u4_ht; 865*495ae853SAndroid Build Coastguard Worker 866*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 867*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 868*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 869*495ae853SAndroid Build Coastguard Worker 870*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 871*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 872*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 873*495ae853SAndroid Build Coastguard Worker 874*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_dimensions_ip_t; 875*495ae853SAndroid Build Coastguard Worker 876*495ae853SAndroid Build Coastguard Worker /** Output structure : Set frame dimensions */ 877*495ae853SAndroid Build Coastguard Worker typedef struct 878*495ae853SAndroid Build Coastguard Worker { 879*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 880*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 881*495ae853SAndroid Build Coastguard Worker 882*495ae853SAndroid Build Coastguard Worker /** Return error code */ 883*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 884*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_dimensions_op_t; 885*495ae853SAndroid Build Coastguard Worker 886*495ae853SAndroid Build Coastguard Worker 887*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 888*495ae853SAndroid Build Coastguard Worker /* Video control Set Frame rates */ 889*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 890*495ae853SAndroid Build Coastguard Worker 891*495ae853SAndroid Build Coastguard Worker /** Input structure : Set frame rate */ 892*495ae853SAndroid Build Coastguard Worker typedef struct 893*495ae853SAndroid Build Coastguard Worker { 894*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 895*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 896*495ae853SAndroid Build Coastguard Worker 897*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 898*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 899*495ae853SAndroid Build Coastguard Worker 900*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_FRAMERATE */ 901*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 902*495ae853SAndroid Build Coastguard Worker 903*495ae853SAndroid Build Coastguard Worker /** Source frame rate */ 904*495ae853SAndroid Build Coastguard Worker UWORD32 u4_src_frame_rate; 905*495ae853SAndroid Build Coastguard Worker 906*495ae853SAndroid Build Coastguard Worker /** Target frame rate */ 907*495ae853SAndroid Build Coastguard Worker UWORD32 u4_tgt_frame_rate; 908*495ae853SAndroid Build Coastguard Worker 909*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 910*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 911*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 912*495ae853SAndroid Build Coastguard Worker 913*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 914*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 915*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 916*495ae853SAndroid Build Coastguard Worker 917*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_frame_rate_ip_t; 918*495ae853SAndroid Build Coastguard Worker 919*495ae853SAndroid Build Coastguard Worker /** Output structure : Set frame rate */ 920*495ae853SAndroid Build Coastguard Worker typedef struct 921*495ae853SAndroid Build Coastguard Worker { 922*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 923*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 924*495ae853SAndroid Build Coastguard Worker 925*495ae853SAndroid Build Coastguard Worker /** Return error code */ 926*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 927*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_frame_rate_op_t; 928*495ae853SAndroid Build Coastguard Worker 929*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 930*495ae853SAndroid Build Coastguard Worker /* Video control Set Bitrate */ 931*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 932*495ae853SAndroid Build Coastguard Worker 933*495ae853SAndroid Build Coastguard Worker /** Input structure : Set bitrate */ 934*495ae853SAndroid Build Coastguard Worker typedef struct 935*495ae853SAndroid Build Coastguard Worker { 936*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 937*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 938*495ae853SAndroid Build Coastguard Worker 939*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 940*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 941*495ae853SAndroid Build Coastguard Worker 942*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_BITRATE */ 943*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 944*495ae853SAndroid Build Coastguard Worker 945*495ae853SAndroid Build Coastguard Worker /** Target bitrate in kilobits per second */ 946*495ae853SAndroid Build Coastguard Worker UWORD32 u4_target_bitrate; 947*495ae853SAndroid Build Coastguard Worker 948*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 949*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 950*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 951*495ae853SAndroid Build Coastguard Worker 952*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 953*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 954*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 955*495ae853SAndroid Build Coastguard Worker 956*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_bitrate_ip_t; 957*495ae853SAndroid Build Coastguard Worker 958*495ae853SAndroid Build Coastguard Worker /** Output structure : Set bitrate */ 959*495ae853SAndroid Build Coastguard Worker typedef struct 960*495ae853SAndroid Build Coastguard Worker { 961*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 962*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 963*495ae853SAndroid Build Coastguard Worker 964*495ae853SAndroid Build Coastguard Worker /** Return error code */ 965*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 966*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_bitrate_op_t; 967*495ae853SAndroid Build Coastguard Worker 968*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 969*495ae853SAndroid Build Coastguard Worker /* Video control Set Frame type */ 970*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 971*495ae853SAndroid Build Coastguard Worker 972*495ae853SAndroid Build Coastguard Worker /** Input structure : Set frametype */ 973*495ae853SAndroid Build Coastguard Worker typedef struct 974*495ae853SAndroid Build Coastguard Worker { 975*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 976*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 977*495ae853SAndroid Build Coastguard Worker 978*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 979*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 980*495ae853SAndroid Build Coastguard Worker 981*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_FRAMETYPE */ 982*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 983*495ae853SAndroid Build Coastguard Worker 984*495ae853SAndroid Build Coastguard Worker /** Force current frame type */ 985*495ae853SAndroid Build Coastguard Worker IV_PICTURE_CODING_TYPE_T e_frame_type; 986*495ae853SAndroid Build Coastguard Worker 987*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 988*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 989*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 990*495ae853SAndroid Build Coastguard Worker 991*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 992*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 993*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 994*495ae853SAndroid Build Coastguard Worker 995*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_frame_type_ip_t; 996*495ae853SAndroid Build Coastguard Worker 997*495ae853SAndroid Build Coastguard Worker /** Output structure : Set frametype */ 998*495ae853SAndroid Build Coastguard Worker typedef struct 999*495ae853SAndroid Build Coastguard Worker { 1000*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1001*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1002*495ae853SAndroid Build Coastguard Worker 1003*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1004*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1005*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_frame_type_op_t; 1006*495ae853SAndroid Build Coastguard Worker 1007*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1008*495ae853SAndroid Build Coastguard Worker /* Video control Set Encode mode */ 1009*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1010*495ae853SAndroid Build Coastguard Worker 1011*495ae853SAndroid Build Coastguard Worker /** Input structure : Set encode mode */ 1012*495ae853SAndroid Build Coastguard Worker typedef struct 1013*495ae853SAndroid Build Coastguard Worker { 1014*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1015*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1016*495ae853SAndroid Build Coastguard Worker 1017*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1018*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1019*495ae853SAndroid Build Coastguard Worker 1020*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_ENC_MODE */ 1021*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1022*495ae853SAndroid Build Coastguard Worker 1023*495ae853SAndroid Build Coastguard Worker /** Encoder mode */ 1024*495ae853SAndroid Build Coastguard Worker IVE_ENC_MODE_T e_enc_mode; 1025*495ae853SAndroid Build Coastguard Worker 1026*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1027*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1028*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1029*495ae853SAndroid Build Coastguard Worker 1030*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1031*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1032*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1033*495ae853SAndroid Build Coastguard Worker 1034*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_enc_mode_ip_t; 1035*495ae853SAndroid Build Coastguard Worker 1036*495ae853SAndroid Build Coastguard Worker /** Output structure : Set encode mode */ 1037*495ae853SAndroid Build Coastguard Worker typedef struct 1038*495ae853SAndroid Build Coastguard Worker { 1039*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1040*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1041*495ae853SAndroid Build Coastguard Worker 1042*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1043*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1044*495ae853SAndroid Build Coastguard Worker 1045*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_enc_mode_op_t; 1046*495ae853SAndroid Build Coastguard Worker 1047*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1048*495ae853SAndroid Build Coastguard Worker /* Video control Set QP */ 1049*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1050*495ae853SAndroid Build Coastguard Worker 1051*495ae853SAndroid Build Coastguard Worker /** Input structure : Set QP */ 1052*495ae853SAndroid Build Coastguard Worker typedef struct 1053*495ae853SAndroid Build Coastguard Worker { 1054*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1055*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1056*495ae853SAndroid Build Coastguard Worker 1057*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1058*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1059*495ae853SAndroid Build Coastguard Worker 1060*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_QP */ 1061*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1062*495ae853SAndroid Build Coastguard Worker 1063*495ae853SAndroid Build Coastguard Worker /** Set initial Qp for I pictures */ 1064*495ae853SAndroid Build Coastguard Worker UWORD32 u4_i_qp; 1065*495ae853SAndroid Build Coastguard Worker 1066*495ae853SAndroid Build Coastguard Worker /** Set initial Qp for P pictures */ 1067*495ae853SAndroid Build Coastguard Worker UWORD32 u4_p_qp; 1068*495ae853SAndroid Build Coastguard Worker 1069*495ae853SAndroid Build Coastguard Worker /** Set initial Qp for B pictures */ 1070*495ae853SAndroid Build Coastguard Worker UWORD32 u4_b_qp; 1071*495ae853SAndroid Build Coastguard Worker 1072*495ae853SAndroid Build Coastguard Worker /** Set minimum Qp for I pictures */ 1073*495ae853SAndroid Build Coastguard Worker UWORD32 u4_i_qp_min; 1074*495ae853SAndroid Build Coastguard Worker 1075*495ae853SAndroid Build Coastguard Worker /** Set maximum Qp for I pictures */ 1076*495ae853SAndroid Build Coastguard Worker UWORD32 u4_i_qp_max; 1077*495ae853SAndroid Build Coastguard Worker 1078*495ae853SAndroid Build Coastguard Worker /** Set minimum Qp for P pictures */ 1079*495ae853SAndroid Build Coastguard Worker UWORD32 u4_p_qp_min; 1080*495ae853SAndroid Build Coastguard Worker 1081*495ae853SAndroid Build Coastguard Worker /** Set maximum Qp for P pictures */ 1082*495ae853SAndroid Build Coastguard Worker UWORD32 u4_p_qp_max; 1083*495ae853SAndroid Build Coastguard Worker 1084*495ae853SAndroid Build Coastguard Worker /** Set minimum Qp for B pictures */ 1085*495ae853SAndroid Build Coastguard Worker UWORD32 u4_b_qp_min; 1086*495ae853SAndroid Build Coastguard Worker 1087*495ae853SAndroid Build Coastguard Worker /** Set maximum Qp for B pictures */ 1088*495ae853SAndroid Build Coastguard Worker UWORD32 u4_b_qp_max; 1089*495ae853SAndroid Build Coastguard Worker 1090*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1091*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1092*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1093*495ae853SAndroid Build Coastguard Worker 1094*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1095*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1096*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1097*495ae853SAndroid Build Coastguard Worker 1098*495ae853SAndroid Build Coastguard Worker 1099*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_qp_ip_t; 1100*495ae853SAndroid Build Coastguard Worker 1101*495ae853SAndroid Build Coastguard Worker /** Output structure : Set QP */ 1102*495ae853SAndroid Build Coastguard Worker typedef struct 1103*495ae853SAndroid Build Coastguard Worker { 1104*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1105*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1106*495ae853SAndroid Build Coastguard Worker 1107*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1108*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1109*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_qp_op_t; 1110*495ae853SAndroid Build Coastguard Worker 1111*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1112*495ae853SAndroid Build Coastguard Worker /* Video control Set AIR params */ 1113*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1114*495ae853SAndroid Build Coastguard Worker 1115*495ae853SAndroid Build Coastguard Worker /** Input structure : Set AIR params */ 1116*495ae853SAndroid Build Coastguard Worker typedef struct 1117*495ae853SAndroid Build Coastguard Worker { 1118*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1119*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1120*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1121*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1122*495ae853SAndroid Build Coastguard Worker 1123*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_AIR_PARAMS */ 1124*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1125*495ae853SAndroid Build Coastguard Worker 1126*495ae853SAndroid Build Coastguard Worker /** Adaptive intra refresh mode */ 1127*495ae853SAndroid Build Coastguard Worker IVE_AIR_MODE_T e_air_mode; 1128*495ae853SAndroid Build Coastguard Worker 1129*495ae853SAndroid Build Coastguard Worker /** Adaptive intra refresh period in frames */ 1130*495ae853SAndroid Build Coastguard Worker UWORD32 u4_air_refresh_period; 1131*495ae853SAndroid Build Coastguard Worker 1132*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1133*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1134*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1135*495ae853SAndroid Build Coastguard Worker 1136*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1137*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1138*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1139*495ae853SAndroid Build Coastguard Worker 1140*495ae853SAndroid Build Coastguard Worker 1141*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_air_params_ip_t; 1142*495ae853SAndroid Build Coastguard Worker 1143*495ae853SAndroid Build Coastguard Worker /** Output structure : Set AIR params */ 1144*495ae853SAndroid Build Coastguard Worker typedef struct 1145*495ae853SAndroid Build Coastguard Worker { 1146*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1147*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1148*495ae853SAndroid Build Coastguard Worker 1149*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1150*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1151*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_air_params_op_t; 1152*495ae853SAndroid Build Coastguard Worker 1153*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1154*495ae853SAndroid Build Coastguard Worker /* Video control Set VBV params */ 1155*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1156*495ae853SAndroid Build Coastguard Worker 1157*495ae853SAndroid Build Coastguard Worker /** Input structure : Set VBV params */ 1158*495ae853SAndroid Build Coastguard Worker typedef struct 1159*495ae853SAndroid Build Coastguard Worker { 1160*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1161*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1162*495ae853SAndroid Build Coastguard Worker 1163*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1164*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1165*495ae853SAndroid Build Coastguard Worker 1166*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_VBV_PARAMS */ 1167*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1168*495ae853SAndroid Build Coastguard Worker 1169*495ae853SAndroid Build Coastguard Worker /** VBV buffer delay */ 1170*495ae853SAndroid Build Coastguard Worker UWORD32 u4_vbv_buffer_delay; 1171*495ae853SAndroid Build Coastguard Worker 1172*495ae853SAndroid Build Coastguard Worker /** VBV buffer size */ 1173*495ae853SAndroid Build Coastguard Worker UWORD32 u4_vbv_buf_size; 1174*495ae853SAndroid Build Coastguard Worker 1175*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1176*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1177*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1178*495ae853SAndroid Build Coastguard Worker 1179*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1180*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1181*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1182*495ae853SAndroid Build Coastguard Worker 1183*495ae853SAndroid Build Coastguard Worker 1184*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_vbv_params_ip_t; 1185*495ae853SAndroid Build Coastguard Worker 1186*495ae853SAndroid Build Coastguard Worker /** Output structure : Set VBV params */ 1187*495ae853SAndroid Build Coastguard Worker typedef struct 1188*495ae853SAndroid Build Coastguard Worker { 1189*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1190*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1191*495ae853SAndroid Build Coastguard Worker 1192*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1193*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1194*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_vbv_params_op_t; 1195*495ae853SAndroid Build Coastguard Worker 1196*495ae853SAndroid Build Coastguard Worker 1197*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1198*495ae853SAndroid Build Coastguard Worker /* Video control Set Processor Details */ 1199*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1200*495ae853SAndroid Build Coastguard Worker 1201*495ae853SAndroid Build Coastguard Worker /** Input structure : Set processor details */ 1202*495ae853SAndroid Build Coastguard Worker typedef struct 1203*495ae853SAndroid Build Coastguard Worker { 1204*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1205*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1206*495ae853SAndroid Build Coastguard Worker 1207*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1208*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1209*495ae853SAndroid Build Coastguard Worker 1210*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_NUM_CORES */ 1211*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1212*495ae853SAndroid Build Coastguard Worker 1213*495ae853SAndroid Build Coastguard Worker /** Total number of cores to be used */ 1214*495ae853SAndroid Build Coastguard Worker UWORD32 u4_num_cores; 1215*495ae853SAndroid Build Coastguard Worker 1216*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1217*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1218*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1219*495ae853SAndroid Build Coastguard Worker 1220*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1221*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1222*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1223*495ae853SAndroid Build Coastguard Worker 1224*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_num_cores_ip_t; 1225*495ae853SAndroid Build Coastguard Worker 1226*495ae853SAndroid Build Coastguard Worker /** Output structure : Set processor details */ 1227*495ae853SAndroid Build Coastguard Worker typedef struct 1228*495ae853SAndroid Build Coastguard Worker { 1229*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1230*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1231*495ae853SAndroid Build Coastguard Worker 1232*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1233*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1234*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_num_cores_op_t; 1235*495ae853SAndroid Build Coastguard Worker 1236*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1237*495ae853SAndroid Build Coastguard Worker /* Video control Set Intra Prediction estimation params */ 1238*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1239*495ae853SAndroid Build Coastguard Worker 1240*495ae853SAndroid Build Coastguard Worker /** Input structure : Set IPE params */ 1241*495ae853SAndroid Build Coastguard Worker typedef struct 1242*495ae853SAndroid Build Coastguard Worker { 1243*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1244*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1245*495ae853SAndroid Build Coastguard Worker 1246*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1247*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1248*495ae853SAndroid Build Coastguard Worker 1249*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_IPE_PARAMS */ 1250*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1251*495ae853SAndroid Build Coastguard Worker 1252*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disbale intra 4x4 analysis */ 1253*495ae853SAndroid Build Coastguard Worker UWORD32 u4_enable_intra_4x4; 1254*495ae853SAndroid Build Coastguard Worker 1255*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable pre-enc stage of Intra Pred estimation */ 1256*495ae853SAndroid Build Coastguard Worker UWORD32 u4_pre_enc_ipe; 1257*495ae853SAndroid Build Coastguard Worker 1258*495ae853SAndroid Build Coastguard Worker /** Speed preset - Value between 0 (slowest) and 100 (fastest) */ 1259*495ae853SAndroid Build Coastguard Worker IVE_SPEED_CONFIG u4_enc_speed_preset; 1260*495ae853SAndroid Build Coastguard Worker 1261*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1262*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1263*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1264*495ae853SAndroid Build Coastguard Worker 1265*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1266*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1267*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1268*495ae853SAndroid Build Coastguard Worker 1269*495ae853SAndroid Build Coastguard Worker /** Constrained intra pred flag */ 1270*495ae853SAndroid Build Coastguard Worker UWORD32 u4_constrained_intra_pred; 1271*495ae853SAndroid Build Coastguard Worker 1272*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_ipe_params_ip_t; 1273*495ae853SAndroid Build Coastguard Worker 1274*495ae853SAndroid Build Coastguard Worker /** Output structure : Set IPE Params */ 1275*495ae853SAndroid Build Coastguard Worker typedef struct 1276*495ae853SAndroid Build Coastguard Worker { 1277*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1278*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1279*495ae853SAndroid Build Coastguard Worker 1280*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1281*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1282*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_ipe_params_op_t; 1283*495ae853SAndroid Build Coastguard Worker 1284*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1285*495ae853SAndroid Build Coastguard Worker /* Video control Set Motion estimation params */ 1286*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1287*495ae853SAndroid Build Coastguard Worker 1288*495ae853SAndroid Build Coastguard Worker /** Input structure : Set ME Params */ 1289*495ae853SAndroid Build Coastguard Worker typedef struct 1290*495ae853SAndroid Build Coastguard Worker { 1291*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1292*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1293*495ae853SAndroid Build Coastguard Worker 1294*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1295*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1296*495ae853SAndroid Build Coastguard Worker 1297*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_ME_PARAMS */ 1298*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1299*495ae853SAndroid Build Coastguard Worker 1300*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable pre-enc stage of Motion estimation */ 1301*495ae853SAndroid Build Coastguard Worker UWORD32 u4_pre_enc_me; 1302*495ae853SAndroid Build Coastguard Worker 1303*495ae853SAndroid Build Coastguard Worker /** Speed preset - Value between 0 (slowest) and 100 (fastest) */ 1304*495ae853SAndroid Build Coastguard Worker UWORD32 u4_me_speed_preset; 1305*495ae853SAndroid Build Coastguard Worker 1306*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable half pel motion estimation */ 1307*495ae853SAndroid Build Coastguard Worker UWORD32 u4_enable_hpel; 1308*495ae853SAndroid Build Coastguard Worker 1309*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable quarter pel motion estimation */ 1310*495ae853SAndroid Build Coastguard Worker UWORD32 u4_enable_qpel; 1311*495ae853SAndroid Build Coastguard Worker 1312*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable fast SAD approximation */ 1313*495ae853SAndroid Build Coastguard Worker UWORD32 u4_enable_fast_sad; 1314*495ae853SAndroid Build Coastguard Worker 1315*495ae853SAndroid Build Coastguard Worker /** Flag to enable/disable alternate reference frames */ 1316*495ae853SAndroid Build Coastguard Worker UWORD32 u4_enable_alt_ref; 1317*495ae853SAndroid Build Coastguard Worker 1318*495ae853SAndroid Build Coastguard Worker /** Maximum search range in X direction for farthest reference */ 1319*495ae853SAndroid Build Coastguard Worker UWORD32 u4_srch_rng_x; 1320*495ae853SAndroid Build Coastguard Worker 1321*495ae853SAndroid Build Coastguard Worker /** Maximum search range in Y direction for farthest reference */ 1322*495ae853SAndroid Build Coastguard Worker UWORD32 u4_srch_rng_y; 1323*495ae853SAndroid Build Coastguard Worker 1324*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1325*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1326*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1327*495ae853SAndroid Build Coastguard Worker 1328*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1329*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1330*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1331*495ae853SAndroid Build Coastguard Worker 1332*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_me_params_ip_t; 1333*495ae853SAndroid Build Coastguard Worker 1334*495ae853SAndroid Build Coastguard Worker /** Output structure : Set ME Params */ 1335*495ae853SAndroid Build Coastguard Worker typedef struct 1336*495ae853SAndroid Build Coastguard Worker { 1337*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1338*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1339*495ae853SAndroid Build Coastguard Worker 1340*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1341*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1342*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_me_params_op_t; 1343*495ae853SAndroid Build Coastguard Worker 1344*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1345*495ae853SAndroid Build Coastguard Worker /* Video control Set GOP params */ 1346*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1347*495ae853SAndroid Build Coastguard Worker 1348*495ae853SAndroid Build Coastguard Worker /** Input structure : Set GOP Params */ 1349*495ae853SAndroid Build Coastguard Worker typedef struct 1350*495ae853SAndroid Build Coastguard Worker { 1351*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1352*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1353*495ae853SAndroid Build Coastguard Worker 1354*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1355*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1356*495ae853SAndroid Build Coastguard Worker 1357*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_GOP_PARAMS */ 1358*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1359*495ae853SAndroid Build Coastguard Worker 1360*495ae853SAndroid Build Coastguard Worker /** I frame interval */ 1361*495ae853SAndroid Build Coastguard Worker UWORD32 u4_i_frm_interval; 1362*495ae853SAndroid Build Coastguard Worker 1363*495ae853SAndroid Build Coastguard Worker /** IDR frame interval */ 1364*495ae853SAndroid Build Coastguard Worker UWORD32 u4_idr_frm_interval; 1365*495ae853SAndroid Build Coastguard Worker 1366*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1367*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1368*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1369*495ae853SAndroid Build Coastguard Worker 1370*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1371*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1372*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1373*495ae853SAndroid Build Coastguard Worker 1374*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_gop_params_ip_t; 1375*495ae853SAndroid Build Coastguard Worker 1376*495ae853SAndroid Build Coastguard Worker /** Output structure : Set GOP params */ 1377*495ae853SAndroid Build Coastguard Worker typedef struct 1378*495ae853SAndroid Build Coastguard Worker { 1379*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1380*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1381*495ae853SAndroid Build Coastguard Worker 1382*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1383*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1384*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_gop_params_op_t; 1385*495ae853SAndroid Build Coastguard Worker 1386*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1387*495ae853SAndroid Build Coastguard Worker /* Video control Set Deblock params */ 1388*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1389*495ae853SAndroid Build Coastguard Worker 1390*495ae853SAndroid Build Coastguard Worker /** Input structure : Set Deblock Params */ 1391*495ae853SAndroid Build Coastguard Worker typedef struct 1392*495ae853SAndroid Build Coastguard Worker { 1393*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1394*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1395*495ae853SAndroid Build Coastguard Worker 1396*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1397*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1398*495ae853SAndroid Build Coastguard Worker 1399*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_GOP_PARAMS */ 1400*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1401*495ae853SAndroid Build Coastguard Worker 1402*495ae853SAndroid Build Coastguard Worker /** Disable deblock level (0: Enable completely, 3: Disable completely */ 1403*495ae853SAndroid Build Coastguard Worker UWORD32 u4_disable_deblock_level; 1404*495ae853SAndroid Build Coastguard Worker 1405*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1406*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1407*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1408*495ae853SAndroid Build Coastguard Worker 1409*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1410*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1411*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1412*495ae853SAndroid Build Coastguard Worker 1413*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_deblock_params_ip_t; 1414*495ae853SAndroid Build Coastguard Worker 1415*495ae853SAndroid Build Coastguard Worker /** Output structure : Set Deblock Params */ 1416*495ae853SAndroid Build Coastguard Worker typedef struct 1417*495ae853SAndroid Build Coastguard Worker { 1418*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1419*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1420*495ae853SAndroid Build Coastguard Worker 1421*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1422*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1423*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_deblock_params_op_t; 1424*495ae853SAndroid Build Coastguard Worker 1425*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1426*495ae853SAndroid Build Coastguard Worker /* Video control Set Profile params */ 1427*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 1428*495ae853SAndroid Build Coastguard Worker 1429*495ae853SAndroid Build Coastguard Worker /** Input structure : Set Profile Params */ 1430*495ae853SAndroid Build Coastguard Worker typedef struct 1431*495ae853SAndroid Build Coastguard Worker { 1432*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1433*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1434*495ae853SAndroid Build Coastguard Worker 1435*495ae853SAndroid Build Coastguard Worker /** Command type : IVE_CMD_VIDEO_CTL */ 1436*495ae853SAndroid Build Coastguard Worker IVE_API_COMMAND_TYPE_T e_cmd; 1437*495ae853SAndroid Build Coastguard Worker 1438*495ae853SAndroid Build Coastguard Worker /** Sub command type : IVE_CMD_CTL_SET_PROFILE_PARAMS */ 1439*495ae853SAndroid Build Coastguard Worker IVE_CONTROL_API_COMMAND_TYPE_T e_sub_cmd; 1440*495ae853SAndroid Build Coastguard Worker 1441*495ae853SAndroid Build Coastguard Worker /** Profile */ 1442*495ae853SAndroid Build Coastguard Worker IV_PROFILE_T e_profile; 1443*495ae853SAndroid Build Coastguard Worker 1444*495ae853SAndroid Build Coastguard Worker /** Lower 32bits of time stamp corresponding to input buffer, 1445*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1446*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_low; 1447*495ae853SAndroid Build Coastguard Worker 1448*495ae853SAndroid Build Coastguard Worker /** Upper 32bits of time stamp corresponding to input buffer, 1449*495ae853SAndroid Build Coastguard Worker * from which this command takes effect */ 1450*495ae853SAndroid Build Coastguard Worker UWORD32 u4_timestamp_high; 1451*495ae853SAndroid Build Coastguard Worker 1452*495ae853SAndroid Build Coastguard Worker /** Entropy coding mode flag: 0-CAVLC, 1-CABAC */ 1453*495ae853SAndroid Build Coastguard Worker UWORD32 u4_entropy_coding_mode; 1454*495ae853SAndroid Build Coastguard Worker 1455*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_profile_params_ip_t; 1456*495ae853SAndroid Build Coastguard Worker 1457*495ae853SAndroid Build Coastguard Worker /** Output structure : Set Profile Params */ 1458*495ae853SAndroid Build Coastguard Worker typedef struct 1459*495ae853SAndroid Build Coastguard Worker { 1460*495ae853SAndroid Build Coastguard Worker /** size of the structure */ 1461*495ae853SAndroid Build Coastguard Worker UWORD32 u4_size; 1462*495ae853SAndroid Build Coastguard Worker 1463*495ae853SAndroid Build Coastguard Worker /** Return error code */ 1464*495ae853SAndroid Build Coastguard Worker UWORD32 u4_error_code; 1465*495ae853SAndroid Build Coastguard Worker }ive_ctl_set_profile_params_op_t; 1466*495ae853SAndroid Build Coastguard Worker 1467*495ae853SAndroid Build Coastguard Worker 1468*495ae853SAndroid Build Coastguard Worker #endif /* _IVE2_H_ */ 1469*495ae853SAndroid Build Coastguard Worker 1470