1*a97c2a1fSXin Li /****************************************************************************** 2*a97c2a1fSXin Li * 3*a97c2a1fSXin Li * Copyright (C) 2015 The Android Open Source Project 4*a97c2a1fSXin Li * 5*a97c2a1fSXin Li * Licensed under the Apache License, Version 2.0 (the "License"); 6*a97c2a1fSXin Li * you may not use this file except in compliance with the License. 7*a97c2a1fSXin Li * You may obtain a copy of the License at: 8*a97c2a1fSXin Li * 9*a97c2a1fSXin Li * http://www.apache.org/licenses/LICENSE-2.0 10*a97c2a1fSXin Li * 11*a97c2a1fSXin Li * Unless required by applicable law or agreed to in writing, software 12*a97c2a1fSXin Li * distributed under the License is distributed on an "AS IS" BASIS, 13*a97c2a1fSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*a97c2a1fSXin Li * See the License for the specific language governing permissions and 15*a97c2a1fSXin Li * limitations under the License. 16*a97c2a1fSXin Li * 17*a97c2a1fSXin Li ***************************************************************************** 18*a97c2a1fSXin Li * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*a97c2a1fSXin Li */ 20*a97c2a1fSXin Li /** 21*a97c2a1fSXin Li ******************************************************************************* 22*a97c2a1fSXin Li * @file 23*a97c2a1fSXin Li * iv.h 24*a97c2a1fSXin Li * 25*a97c2a1fSXin Li * @brief 26*a97c2a1fSXin Li * This file contains all the necessary structure and enumeration 27*a97c2a1fSXin Li * definitions needed for the Application Program Interface(API) of the 28*a97c2a1fSXin Li * Ittiam Video and Image codecs 29*a97c2a1fSXin Li * 30*a97c2a1fSXin Li * @author 31*a97c2a1fSXin Li * 100239(RCY) 32*a97c2a1fSXin Li * 33*a97c2a1fSXin Li * @par List of Functions: 34*a97c2a1fSXin Li * 35*a97c2a1fSXin Li * @remarks 36*a97c2a1fSXin Li * None 37*a97c2a1fSXin Li * 38*a97c2a1fSXin Li ******************************************************************************* 39*a97c2a1fSXin Li */ 40*a97c2a1fSXin Li 41*a97c2a1fSXin Li 42*a97c2a1fSXin Li #ifndef _IV_H 43*a97c2a1fSXin Li #define _IV_H 44*a97c2a1fSXin Li 45*a97c2a1fSXin Li /*****************************************************************************/ 46*a97c2a1fSXin Li /* Constant Macros */ 47*a97c2a1fSXin Li /*****************************************************************************/ 48*a97c2a1fSXin Li 49*a97c2a1fSXin Li 50*a97c2a1fSXin Li /*****************************************************************************/ 51*a97c2a1fSXin Li /* Typedefs */ 52*a97c2a1fSXin Li /*****************************************************************************/ 53*a97c2a1fSXin Li 54*a97c2a1fSXin Li /*****************************************************************************/ 55*a97c2a1fSXin Li /* Enums */ 56*a97c2a1fSXin Li /*****************************************************************************/ 57*a97c2a1fSXin Li 58*a97c2a1fSXin Li 59*a97c2a1fSXin Li /* IV_API_CALL_STATUS_T:This is only to return the FAIL/PASS status to the */ 60*a97c2a1fSXin Li /* application for the current API call */ 61*a97c2a1fSXin Li 62*a97c2a1fSXin Li typedef enum{ 63*a97c2a1fSXin Li IV_STATUS_NA = 0x7FFFFFFF, 64*a97c2a1fSXin Li IV_SUCCESS = 0x0, 65*a97c2a1fSXin Li IV_FAIL = 0x1, 66*a97c2a1fSXin Li }IV_API_CALL_STATUS_T; 67*a97c2a1fSXin Li 68*a97c2a1fSXin Li /* IV_MEM_TYPE_T: This Enumeration defines the type of memory (Internal/Ext */ 69*a97c2a1fSXin Li /* -ernal) along with the cacheable/non-cacheable attributes */ 70*a97c2a1fSXin Li 71*a97c2a1fSXin Li typedef enum { 72*a97c2a1fSXin Li IV_NA_MEM_TYPE = 0x7FFFFFFF, 73*a97c2a1fSXin Li IV_INTERNAL_CACHEABLE_PERSISTENT_MEM = 0x1, 74*a97c2a1fSXin Li IV_INTERNAL_CACHEABLE_SCRATCH_MEM = 0x2, 75*a97c2a1fSXin Li IV_EXTERNAL_CACHEABLE_PERSISTENT_MEM = 0x3, 76*a97c2a1fSXin Li IV_EXTERNAL_CACHEABLE_SCRATCH_MEM = 0x4, 77*a97c2a1fSXin Li IV_INTERNAL_NONCACHEABLE_PERSISTENT_MEM = 0x5, 78*a97c2a1fSXin Li IV_INTERNAL_NONCACHEABLE_SCRATCH_MEM = 0x6, 79*a97c2a1fSXin Li IV_EXTERNAL_NONCACHEABLE_PERSISTENT_MEM = 0x7, 80*a97c2a1fSXin Li IV_EXTERNAL_NONCACHEABLE_SCRATCH_MEM = 0x8 81*a97c2a1fSXin Li }IV_MEM_TYPE_T; 82*a97c2a1fSXin Li 83*a97c2a1fSXin Li /* IV_COLOR_FORMAT_T: This enumeration lists all the color formats which */ 84*a97c2a1fSXin Li /* finds usage in video/image codecs */ 85*a97c2a1fSXin Li 86*a97c2a1fSXin Li typedef enum { 87*a97c2a1fSXin Li IV_CHROMA_NA = 0x7FFFFFFF, 88*a97c2a1fSXin Li IV_YUV_420P = 0x1, 89*a97c2a1fSXin Li IV_YUV_422P = 0x2, 90*a97c2a1fSXin Li IV_420_UV_INTL = 0x3, 91*a97c2a1fSXin Li IV_YUV_422IBE = 0x4, 92*a97c2a1fSXin Li IV_YUV_422ILE = 0x5, 93*a97c2a1fSXin Li IV_YUV_444P = 0x6, 94*a97c2a1fSXin Li IV_YUV_411P = 0x7, 95*a97c2a1fSXin Li IV_GRAY = 0x8, 96*a97c2a1fSXin Li IV_RGB_565 = 0x9, 97*a97c2a1fSXin Li IV_RGB_24 = 0xa, 98*a97c2a1fSXin Li IV_YUV_420SP_UV = 0xb, 99*a97c2a1fSXin Li IV_YUV_420SP_VU = 0xc, 100*a97c2a1fSXin Li IV_RGBA_8888 = 0xd 101*a97c2a1fSXin Li }IV_COLOR_FORMAT_T; 102*a97c2a1fSXin Li 103*a97c2a1fSXin Li /* IV_PICTURE_CODING_TYPE_T: VOP/Frame coding type Enumeration */ 104*a97c2a1fSXin Li 105*a97c2a1fSXin Li typedef enum { 106*a97c2a1fSXin Li IV_NA_FRAME = 0x7FFFFFFF, 107*a97c2a1fSXin Li IV_I_FRAME = 0x0, 108*a97c2a1fSXin Li IV_P_FRAME = 0x1, 109*a97c2a1fSXin Li IV_B_FRAME = 0x2, 110*a97c2a1fSXin Li IV_IDR_FRAME = 0x3, 111*a97c2a1fSXin Li IV_II_FRAME = 0x4, 112*a97c2a1fSXin Li IV_IP_FRAME = 0x5, 113*a97c2a1fSXin Li IV_IB_FRAME = 0x6, 114*a97c2a1fSXin Li IV_PI_FRAME = 0x7, 115*a97c2a1fSXin Li IV_PP_FRAME = 0x8, 116*a97c2a1fSXin Li IV_PB_FRAME = 0x9, 117*a97c2a1fSXin Li IV_BI_FRAME = 0xa, 118*a97c2a1fSXin Li IV_BP_FRAME = 0xb, 119*a97c2a1fSXin Li IV_BB_FRAME = 0xc, 120*a97c2a1fSXin Li IV_MBAFF_I_FRAME = 0xd, 121*a97c2a1fSXin Li IV_MBAFF_P_FRAME = 0xe, 122*a97c2a1fSXin Li IV_MBAFF_B_FRAME = 0xf, 123*a97c2a1fSXin Li IV_MBAFF_IDR_FRAME = 0x10, 124*a97c2a1fSXin Li IV_NOT_CODED_FRAME = 0x11, 125*a97c2a1fSXin Li IV_FRAMETYPE_DEFAULT = IV_I_FRAME 126*a97c2a1fSXin Li }IV_PICTURE_CODING_TYPE_T; 127*a97c2a1fSXin Li 128*a97c2a1fSXin Li /* IV_FLD_TYPE_T: field type Enumeration */ 129*a97c2a1fSXin Li 130*a97c2a1fSXin Li typedef enum { 131*a97c2a1fSXin Li IV_NA_FLD = 0x7FFFFFFF, 132*a97c2a1fSXin Li IV_TOP_FLD = 0x0, 133*a97c2a1fSXin Li IV_BOT_FLD = 0x1, 134*a97c2a1fSXin Li IV_FLD_TYPE_DEFAULT = IV_TOP_FLD 135*a97c2a1fSXin Li }IV_FLD_TYPE_T; 136*a97c2a1fSXin Li 137*a97c2a1fSXin Li /* IV_CONTENT_TYPE_T: Video content type */ 138*a97c2a1fSXin Li 139*a97c2a1fSXin Li typedef enum { 140*a97c2a1fSXin Li IV_CONTENTTYPE_NA = 0x7FFFFFFF, 141*a97c2a1fSXin Li IV_PROGRESSIVE = 0x0, 142*a97c2a1fSXin Li IV_INTERLACED = 0x1, 143*a97c2a1fSXin Li IV_PROGRESSIVE_FRAME = 0x2, 144*a97c2a1fSXin Li IV_INTERLACED_FRAME = 0x3, 145*a97c2a1fSXin Li IV_INTERLACED_TOPFIELD = 0x4, 146*a97c2a1fSXin Li IV_INTERLACED_BOTTOMFIELD = 0x5, 147*a97c2a1fSXin Li IV_CONTENTTYPE_DEFAULT = IV_PROGRESSIVE, 148*a97c2a1fSXin Li }IV_CONTENT_TYPE_T; 149*a97c2a1fSXin Li 150*a97c2a1fSXin Li /* IV_API_COMMAND_TYPE_T:API command type */ 151*a97c2a1fSXin Li typedef enum { 152*a97c2a1fSXin Li IV_CMD_NA = 0x7FFFFFFF, 153*a97c2a1fSXin Li IV_CMD_GET_NUM_MEM_REC = 0x0, 154*a97c2a1fSXin Li IV_CMD_FILL_NUM_MEM_REC = 0x1, 155*a97c2a1fSXin Li IV_CMD_RETRIEVE_MEMREC = 0x2, 156*a97c2a1fSXin Li IV_CMD_INIT = 0x3, 157*a97c2a1fSXin Li IV_CMD_DUMMY_ELEMENT = 0x4, 158*a97c2a1fSXin Li }IV_API_COMMAND_TYPE_T; 159*a97c2a1fSXin Li 160*a97c2a1fSXin Li /*****************************************************************************/ 161*a97c2a1fSXin Li /* Structure */ 162*a97c2a1fSXin Li /*****************************************************************************/ 163*a97c2a1fSXin Li 164*a97c2a1fSXin Li /* IV_OBJ_T: This structure defines the handle for the codec instance */ 165*a97c2a1fSXin Li 166*a97c2a1fSXin Li typedef struct{ 167*a97c2a1fSXin Li /** 168*a97c2a1fSXin Li * u4_size of the structure 169*a97c2a1fSXin Li */ 170*a97c2a1fSXin Li UWORD32 u4_size; 171*a97c2a1fSXin Li 172*a97c2a1fSXin Li /** 173*a97c2a1fSXin Li * Pointer to the API function pointer table of the codec 174*a97c2a1fSXin Li */ 175*a97c2a1fSXin Li void *pv_fxns; 176*a97c2a1fSXin Li 177*a97c2a1fSXin Li /** 178*a97c2a1fSXin Li * Pointer to the handle of the codec 179*a97c2a1fSXin Li */ 180*a97c2a1fSXin Li void *pv_codec_handle; 181*a97c2a1fSXin Li }iv_obj_t; 182*a97c2a1fSXin Li 183*a97c2a1fSXin Li /* iv_mem_rec_t: This structure defines the memory record holder which will */ 184*a97c2a1fSXin Li /* be used by the codec to communicate its memory requirements to the */ 185*a97c2a1fSXin Li /* application through appropriate API functions */ 186*a97c2a1fSXin Li 187*a97c2a1fSXin Li typedef struct { 188*a97c2a1fSXin Li /** 189*a97c2a1fSXin Li * u4_size of the structure 190*a97c2a1fSXin Li */ 191*a97c2a1fSXin Li UWORD32 u4_size; 192*a97c2a1fSXin Li 193*a97c2a1fSXin Li /** 194*a97c2a1fSXin Li * Pointer to the memory allocated by the application 195*a97c2a1fSXin Li */ 196*a97c2a1fSXin Li void *pv_base; 197*a97c2a1fSXin Li 198*a97c2a1fSXin Li /** 199*a97c2a1fSXin Li * u4_size of the memory to be allocated 200*a97c2a1fSXin Li */ 201*a97c2a1fSXin Li UWORD32 u4_mem_size; 202*a97c2a1fSXin Li 203*a97c2a1fSXin Li /** 204*a97c2a1fSXin Li * Alignment of the memory pointer 205*a97c2a1fSXin Li */ 206*a97c2a1fSXin Li UWORD32 u4_mem_alignment; 207*a97c2a1fSXin Li /** 208*a97c2a1fSXin Li * Nature of the memory to be allocated 209*a97c2a1fSXin Li */ 210*a97c2a1fSXin Li IV_MEM_TYPE_T e_mem_type; 211*a97c2a1fSXin Li }iv_mem_rec_t; 212*a97c2a1fSXin Li 213*a97c2a1fSXin Li /* IV_YUV_BUF_T: This structure defines attributes for the yuv buffer */ 214*a97c2a1fSXin Li 215*a97c2a1fSXin Li typedef struct { 216*a97c2a1fSXin Li /** 217*a97c2a1fSXin Li * u4_size of the structure 218*a97c2a1fSXin Li */ 219*a97c2a1fSXin Li UWORD32 u4_size; 220*a97c2a1fSXin Li 221*a97c2a1fSXin Li /** 222*a97c2a1fSXin Li * Pointer to Luma (Y) Buffer 223*a97c2a1fSXin Li */ 224*a97c2a1fSXin Li 225*a97c2a1fSXin Li void *pv_y_buf; 226*a97c2a1fSXin Li /** 227*a97c2a1fSXin Li * Pointer to Chroma (Cb) Buffer 228*a97c2a1fSXin Li */ 229*a97c2a1fSXin Li void *pv_u_buf; 230*a97c2a1fSXin Li 231*a97c2a1fSXin Li /** 232*a97c2a1fSXin Li * Pointer to Chroma (Cr) Buffer 233*a97c2a1fSXin Li */ 234*a97c2a1fSXin Li void *pv_v_buf; 235*a97c2a1fSXin Li 236*a97c2a1fSXin Li /** 237*a97c2a1fSXin Li * Width of the Luma (Y) Buffer 238*a97c2a1fSXin Li */ 239*a97c2a1fSXin Li UWORD32 u4_y_wd; 240*a97c2a1fSXin Li 241*a97c2a1fSXin Li /** 242*a97c2a1fSXin Li * Height of the Luma (Y) Buffer 243*a97c2a1fSXin Li */ 244*a97c2a1fSXin Li UWORD32 u4_y_ht; 245*a97c2a1fSXin Li 246*a97c2a1fSXin Li /** 247*a97c2a1fSXin Li * Stride/Pitch of the Luma (Y) Buffer 248*a97c2a1fSXin Li */ 249*a97c2a1fSXin Li UWORD32 u4_y_strd; 250*a97c2a1fSXin Li 251*a97c2a1fSXin Li /** 252*a97c2a1fSXin Li * Width of the Chroma (Cb) Buffer 253*a97c2a1fSXin Li */ 254*a97c2a1fSXin Li UWORD32 u4_u_wd; 255*a97c2a1fSXin Li 256*a97c2a1fSXin Li /** 257*a97c2a1fSXin Li * Height of the Chroma (Cb) Buffer 258*a97c2a1fSXin Li */ 259*a97c2a1fSXin Li UWORD32 u4_u_ht; 260*a97c2a1fSXin Li 261*a97c2a1fSXin Li /** 262*a97c2a1fSXin Li * Stride/Pitch of the Chroma (Cb) Buffer 263*a97c2a1fSXin Li */ 264*a97c2a1fSXin Li UWORD32 u4_u_strd; 265*a97c2a1fSXin Li 266*a97c2a1fSXin Li /** 267*a97c2a1fSXin Li * Width of the Chroma (Cr) Buffer 268*a97c2a1fSXin Li */ 269*a97c2a1fSXin Li UWORD32 u4_v_wd; 270*a97c2a1fSXin Li 271*a97c2a1fSXin Li /** 272*a97c2a1fSXin Li * Height of the Chroma (Cr) Buffer 273*a97c2a1fSXin Li */ 274*a97c2a1fSXin Li UWORD32 u4_v_ht; 275*a97c2a1fSXin Li 276*a97c2a1fSXin Li /** 277*a97c2a1fSXin Li * Stride/Pitch of the Chroma (Cr) Buffer 278*a97c2a1fSXin Li */ 279*a97c2a1fSXin Li UWORD32 u4_v_strd; 280*a97c2a1fSXin Li }iv_yuv_buf_t; 281*a97c2a1fSXin Li 282*a97c2a1fSXin Li /*****************************************************************************/ 283*a97c2a1fSXin Li /* Get Number of Memory Records */ 284*a97c2a1fSXin Li /*****************************************************************************/ 285*a97c2a1fSXin Li 286*a97c2a1fSXin Li /* IV_API_COMMAND_TYPE_T::e_cmd = IV_CMD_GET_NUM_MEM_REC */ 287*a97c2a1fSXin Li 288*a97c2a1fSXin Li 289*a97c2a1fSXin Li typedef struct { 290*a97c2a1fSXin Li /** 291*a97c2a1fSXin Li * u4_size of the structure 292*a97c2a1fSXin Li */ 293*a97c2a1fSXin Li UWORD32 u4_size; 294*a97c2a1fSXin Li 295*a97c2a1fSXin Li /** 296*a97c2a1fSXin Li * cmd 297*a97c2a1fSXin Li */ 298*a97c2a1fSXin Li IV_API_COMMAND_TYPE_T e_cmd; 299*a97c2a1fSXin Li }iv_num_mem_rec_ip_t; 300*a97c2a1fSXin Li 301*a97c2a1fSXin Li 302*a97c2a1fSXin Li typedef struct{ 303*a97c2a1fSXin Li /** 304*a97c2a1fSXin Li * u4_size of the structure 305*a97c2a1fSXin Li */ 306*a97c2a1fSXin Li UWORD32 u4_size; 307*a97c2a1fSXin Li 308*a97c2a1fSXin Li /** 309*a97c2a1fSXin Li * error code 310*a97c2a1fSXin Li */ 311*a97c2a1fSXin Li UWORD32 u4_error_code; 312*a97c2a1fSXin Li 313*a97c2a1fSXin Li /** 314*a97c2a1fSXin Li * num_mem_rec 315*a97c2a1fSXin Li */ 316*a97c2a1fSXin Li UWORD32 u4_num_mem_rec; 317*a97c2a1fSXin Li }iv_num_mem_rec_op_t; 318*a97c2a1fSXin Li 319*a97c2a1fSXin Li 320*a97c2a1fSXin Li /*****************************************************************************/ 321*a97c2a1fSXin Li /* Fill Memory Records */ 322*a97c2a1fSXin Li /*****************************************************************************/ 323*a97c2a1fSXin Li 324*a97c2a1fSXin Li /* IV_API_COMMAND_TYPE_T::e_cmd = IV_CMD_FILL_NUM_MEM_REC */ 325*a97c2a1fSXin Li 326*a97c2a1fSXin Li 327*a97c2a1fSXin Li typedef struct { 328*a97c2a1fSXin Li /** 329*a97c2a1fSXin Li * u4_size of the structure 330*a97c2a1fSXin Li */ 331*a97c2a1fSXin Li UWORD32 u4_size; 332*a97c2a1fSXin Li 333*a97c2a1fSXin Li /** 334*a97c2a1fSXin Li * cmd 335*a97c2a1fSXin Li */ 336*a97c2a1fSXin Li IV_API_COMMAND_TYPE_T e_cmd; 337*a97c2a1fSXin Li 338*a97c2a1fSXin Li /** 339*a97c2a1fSXin Li * pointer to array of memrecords structures should be filled by codec 340*a97c2a1fSXin Li with details of memory resource requirements 341*a97c2a1fSXin Li */ 342*a97c2a1fSXin Li iv_mem_rec_t *pv_mem_rec_location; 343*a97c2a1fSXin Li 344*a97c2a1fSXin Li /** 345*a97c2a1fSXin Li * maximum width for which codec should request memory requirements 346*a97c2a1fSXin Li */ 347*a97c2a1fSXin Li UWORD32 u4_max_frm_wd; 348*a97c2a1fSXin Li 349*a97c2a1fSXin Li /** 350*a97c2a1fSXin Li * maximum height for which codec should request memory requirements 351*a97c2a1fSXin Li */ 352*a97c2a1fSXin Li UWORD32 u4_max_frm_ht; 353*a97c2a1fSXin Li }iv_fill_mem_rec_ip_t; 354*a97c2a1fSXin Li 355*a97c2a1fSXin Li 356*a97c2a1fSXin Li typedef struct{ 357*a97c2a1fSXin Li /** 358*a97c2a1fSXin Li * u4_size of the structure 359*a97c2a1fSXin Li */ 360*a97c2a1fSXin Li UWORD32 u4_size; 361*a97c2a1fSXin Li 362*a97c2a1fSXin Li /** 363*a97c2a1fSXin Li * error_code 364*a97c2a1fSXin Li */ 365*a97c2a1fSXin Li UWORD32 u4_error_code; 366*a97c2a1fSXin Li 367*a97c2a1fSXin Li /** 368*a97c2a1fSXin Li * no of memory record structures which are filled by codec 369*a97c2a1fSXin Li */ 370*a97c2a1fSXin Li UWORD32 u4_num_mem_rec_filled; 371*a97c2a1fSXin Li }iv_fill_mem_rec_op_t; 372*a97c2a1fSXin Li 373*a97c2a1fSXin Li 374*a97c2a1fSXin Li /*****************************************************************************/ 375*a97c2a1fSXin Li /* Retrieve Memory Records */ 376*a97c2a1fSXin Li /*****************************************************************************/ 377*a97c2a1fSXin Li 378*a97c2a1fSXin Li /* IV_API_COMMAND_TYPE_T::e_cmd = IV_CMD_RETRIEVE_MEMREC */ 379*a97c2a1fSXin Li 380*a97c2a1fSXin Li 381*a97c2a1fSXin Li 382*a97c2a1fSXin Li typedef struct { 383*a97c2a1fSXin Li /** 384*a97c2a1fSXin Li * u4_size of the structure 385*a97c2a1fSXin Li */ 386*a97c2a1fSXin Li UWORD32 u4_size; 387*a97c2a1fSXin Li 388*a97c2a1fSXin Li /** 389*a97c2a1fSXin Li * cmd 390*a97c2a1fSXin Li */ 391*a97c2a1fSXin Li IV_API_COMMAND_TYPE_T e_cmd; 392*a97c2a1fSXin Li 393*a97c2a1fSXin Li /** 394*a97c2a1fSXin Li * array of structures where codec should fill with all resources(memory) with it 395*a97c2a1fSXin Li */ 396*a97c2a1fSXin Li iv_mem_rec_t *pv_mem_rec_location; 397*a97c2a1fSXin Li }iv_retrieve_mem_rec_ip_t; 398*a97c2a1fSXin Li 399*a97c2a1fSXin Li 400*a97c2a1fSXin Li typedef struct{ 401*a97c2a1fSXin Li /** 402*a97c2a1fSXin Li * u4_size of the structure 403*a97c2a1fSXin Li */ 404*a97c2a1fSXin Li UWORD32 u4_size; 405*a97c2a1fSXin Li 406*a97c2a1fSXin Li /** 407*a97c2a1fSXin Li * error_code 408*a97c2a1fSXin Li */ 409*a97c2a1fSXin Li UWORD32 u4_error_code; 410*a97c2a1fSXin Li 411*a97c2a1fSXin Li /** 412*a97c2a1fSXin Li * no of memory records filled by codec 413*a97c2a1fSXin Li */ 414*a97c2a1fSXin Li UWORD32 u4_num_mem_rec_filled; 415*a97c2a1fSXin Li }iv_retrieve_mem_rec_op_t; 416*a97c2a1fSXin Li 417*a97c2a1fSXin Li 418*a97c2a1fSXin Li 419*a97c2a1fSXin Li #endif /* _IV_H */ 420*a97c2a1fSXin Li 421