1# ICodecComponent 2 3 4## 概述 5 6Codec组件接口定义。 7 8主要提供以下功能: 9 10- 获取组件的版本 11 12- 组件参数配置的获取和设置 13 14- 发送命令至组件及获取组件状态 15 16- 设置回调函数 17 18- 设置/释放组件使用的buffer 19 20- 编解码输入输出buffer处理 具体方法使用详见函数说明。 21 22**起始版本:** 4.1 23 24**相关模块:**[Codec](_codec_v20.md) 25 26 27## 汇总 28 29 30### Public 成员函数 31 32| 名称 | 描述 | 33| -------- | -------- | 34| [GetComponentVersion](#getcomponentversion) ([out] struct [CompVerInfo](_comp_ver_info_v20.md) verInfo) | 获取Codec组件版本号。 | 35| [SendCommand](#sendcommand) ([in] enum OMX_COMMANDTYPE cmd, [in] unsigned int param, [in] byte[] cmdData) | 发送命令给组件。 | 36| [GetParameter](#getparameter) ([in] unsigned int index, [in] byte[] inParamStruct, [out] byte[] outParamStruct) | 获取组件参数设置。 | 37| [SetParameter](#setparameter) ([in] unsigned int index, [in] byte[] paramStruct) | 设置组件需要的参数。 | 38| [GetConfig](#getconfig) ([in] unsigned int index, [in] byte[] inCfgStruct, [out] byte[] outCfgStruct) | 获取组件的配置。 | 39| [SetConfig](#setconfig) ([in] unsigned int index, [in] byte[] cfgStruct) | 设置组件的配置。 | 40| [GetExtensionIndex](#getextensionindex) ([in] String paramName, [out] unsigned int indexType) | 根据字符串获取组件的扩展索引。 | 41| [GetState](#getstate) ([out] enum OMX_STATETYPE state) | 获取组件的当前状态。 | 42| [ComponentTunnelRequest](#componenttunnelrequest) ([in] unsigned int port, [in] int tunneledComp, [in] unsigned int tunneledPort, [in] struct [OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v20.md) inTunnelSetup, [out] struct [OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v20.md) outTunnelSetup) | 设置组件采用Tunnel方式通信。 | 43| [UseBuffer](#usebuffer) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) inBuffer, [out] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) outBuffer) | 指定组件端口的buffer。 | 44| [AllocateBuffer](#allocatebuffer) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) inBuffer, [out] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) outBuffer) | 向组件申请端口buffer。 | 45| [FreeBuffer](#freebuffer) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) buffer) | 释放buffer。 | 46| [EmptyThisBuffer](#emptythisbuffer) ([in] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) buffer) | 编解码输入待处理buffer。 | 47| [FillThisBuffer](#fillthisbuffer) ([in] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) buffer) | 编解码输出填充buffer。 | 48| [SetCallbacks](#setcallbacks) ([in] [ICodecCallback](interface_i_codec_callback_v20.md) callbacks, [in] long appData) | 设置Codec组件的回调函数。 | 49| [ComponentDeInit](#componentdeinit) () | 组件去初始化。 | 50| [UseEglImage](#useeglimage) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) inBuffer, [out] struct [OmxCodecBuffer](_omx_codec_buffer_v20.md) outBuffer, [in] byte[] eglImage) | 使用已在EGL中申请的空间。 | 51| [ComponentRoleEnum](#componentroleenum) ([out] unsigned char[] role, [in] unsigned int index) | 获取组件角色。 | 52 53 54## 成员函数说明 55 56 57### AllocateBuffer() 58 59``` 60ICodecComponent::AllocateBuffer ([in] unsigned int portIndex, [in] struct OmxCodecBuffer inBuffer, [out] struct OmxCodecBuffer outBuffer ) 61``` 62 63**描述** 64 65向组件申请端口buffer。 66 67向组件申请分配新的buffer,此接口在以下情况下使用: 68 69- 当组件处于OMX_StateLoaded状态,并且用户已经向组件发送OMX_StateIdle状态转换请求。 70 71- 当组件处于OMX_StateWaitForResources状态,所需的资源可用,并且组件已准备好进入OMX_StateIdle状态。 72 73- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle状态。 74 75更多组件状态的说明请详见**OMX_STATETYPE**。 76 77**起始版本:** 4.1 78 79**参数:** 80 81| 名称 | 描述 | 82| -------- | -------- | 83| portIndex | 指定的组件端口。 | 84| inBuffer | 指向要申请的buffer结构的体指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 85| outBuffer | 指向要申请的buffer结构的体指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 86 87**返回:** 88 89HDF_SUCCESS 表示申请buffer成功。 90 91HDF_ERR_INVALID_PARAM 表示参数无效,申请buffer失败。 92 93HDF_FAILURE 表示执行失败。 94 95其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 96 97 98### ComponentDeInit() 99 100``` 101ICodecComponent::ComponentDeInit () 102``` 103 104**描述** 105 106组件去初始化。 107 108调用此接口使组件去初始化,当组件处于OMX_StateLoaded状态时,将直接关闭组件,更多组件状态的说明请详见**OMX_STATETYPE**。 109 110**起始版本:** 4.1 111 112**返回:** 113 114HDF_SUCCESS 表示去初始化成功。 115 116HDF_ERR_INVALID_PARAM 表示参数无效,去初始化失败。 117 118HDF_FAILURE 表示执行失败。 119 120其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 121 122 123### ComponentRoleEnum() 124 125``` 126ICodecComponent::ComponentRoleEnum ([out] unsigned char[] role, [in] unsigned int index ) 127``` 128 129**描述** 130 131获取组件角色。 132 133根据组件角色索引获取对应组件角色。 134 135**起始版本:** 4.1 136 137**参数:** 138 139| 名称 | 描述 | 140| -------- | -------- | 141| role | 角色名称。 | 142| index | 角色的索引,一个组件可能支持多种角色。 | 143 144**返回:** 145 146HDF_SUCCESS 表示获取角色成功。 147 148HDF_ERR_INVALID_PARAM 表示参数无效,获取角色失败。 149 150HDF_FAILURE 表示执行失败。 151 152其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 153 154 155### ComponentTunnelRequest() 156 157``` 158ICodecComponent::ComponentTunnelRequest ([in] unsigned int port, [in] int tunneledComp, [in] unsigned int tunneledPort, [in] struct OMX_TUNNELSETUPTYPE inTunnelSetup, [out] struct OMX_TUNNELSETUPTYPE outTunnelSetup ) 159``` 160 161**描述** 162 163设置组件采用Tunnel方式通信。 164 165当组件处于OMX_StateLoaded状态时(表示组件已加载),用户通过调用此接口确定组件是否可以进行Tunnel传输,如果可以则设置组件的Tunnel传输。 更多组件状态的说明请详见**OMX_STATETYPE**。 166 167**起始版本:** 4.1 168 169**参数:** 170 171| 名称 | 描述 | 172| -------- | -------- | 173| port | 组件设置的端口。 | 174| tunneledComp | 组件的tunnel组件句柄。 | 175| tunneledPort | 组件用来Tunnel通信的端口。 | 176| inTunnelSetup | 指向Tunnel设置的结构体[OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v20.md)指针。 | 177| outTunnelSetup | 指向Tunnel设置的结构体[OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v20.md)指针。 | 178 179**返回:** 180 181HDF_SUCCESS 表示设置成功。 182 183HDF_ERR_INVALID_PARAM 表示参数无效,设置失败。 184 185HDF_FAILURE 表示执行失败。 186 187其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 188 189 190### EmptyThisBuffer() 191 192``` 193ICodecComponent::EmptyThisBuffer ([in] struct OmxCodecBuffer buffer) 194``` 195 196**描述** 197 198编解码输入待处理buffer。 199 200此接口在组件处于OMX_StateExecuting或者OMX_StatePause状态时调用,更多组件状态的说明请详见**OMX_STATETYPE**。 201 202**起始版本:** 4.1 203 204**参数:** 205 206| 名称 | 描述 | 207| -------- | -------- | 208| buffer | 指向要输入的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 209 210**返回:** 211 212HDF_SUCCESS 表示输入buffer成功。 213 214HDF_ERR_INVALID_PARAM 表示参数无效,输入buffer失败。 215 216HDF_FAILURE 表示执行失败。 217 218其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 219 220 221### FillThisBuffer() 222 223``` 224ICodecComponent::FillThisBuffer ([in] struct OmxCodecBuffer buffer) 225``` 226 227**描述** 228 229编解码输出填充buffer。 230 231此接口在组件处于OMX_StateExecuting或者OMX_StatePause状态时调用,更多组件状态的说明请详见**OMX_STATETYPE**。 232 233**起始版本:** 4.1 234 235**参数:** 236 237| 名称 | 描述 | 238| -------- | -------- | 239| buffer | 指向要填充的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 240 241**返回:** 242 243HDF_SUCCESS 表示填充buffer成功。 244 245HDF_ERR_INVALID_PARAM 表示参数无效,填充buffer失败。 246 247HDF_FAILURE 表示执行失败。 248 249其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 250 251 252### FreeBuffer() 253 254``` 255ICodecComponent::FreeBuffer ([in] unsigned int portIndex, [in] struct OmxCodecBuffer buffer ) 256``` 257 258**描述** 259 260释放buffer。 261 262此接口在以下情况下使用: 263 264- 当组件处于OMX_StateIdle状态,并且已经向组件发送OMX_StateLoaded状态转换请求。 265 266- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle时调用。 更多组件状态的说明请详见**OMX_STATETYPE**。 267 268- 此接口调用可随时进行,但是如果未在上述情况下执行,可能会导致组件上报OMX_ErrorPortUnpopulated事件。 269 270**起始版本:** 4.1 271 272**参数:** 273 274| 名称 | 描述 | 275| -------- | -------- | 276| portIndex | 指定的组件端口。 | 277| buffer | 指向要释放的buffer结构体的结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 278 279**返回:** 280 281HDF_SUCCESS 表示释放buffer成功。 282 283HDF_ERR_INVALID_PARAM 表示参数无效,释放buffer失败。 284 285HDF_FAILURE 表示执行失败。 286 287其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 288 289 290### GetComponentVersion() 291 292``` 293ICodecComponent::GetComponentVersion ([out] struct CompVerInfo verInfo) 294``` 295 296**描述** 297 298获取Codec组件版本号。 299 300通过查询组件,返回组件版本信息。 301 302**起始版本:** 4.1 303 304**参数:** 305 306| 名称 | 描述 | 307| -------- | -------- | 308| verInfo | 指向组件版本信息的对象,详见[CompVerInfo](_comp_ver_info_v20.md)。 | 309 310**返回:** 311 312HDF_SUCCESS 表示获取版本号成功。 313 314HDF_ERR_INVALID_PARAM 表示参数无效,获取版本号失败。 315 316HDF_FAILURE 表示执行失败。 317 318其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 319 320 321### GetConfig() 322 323``` 324ICodecComponent::GetConfig ([in] unsigned int index, [in] byte[] inCfgStruct, [out] byte[] outCfgStruct ) 325``` 326 327**描述** 328 329获取组件的配置。 330 331加载组件后可以随时调用此接口获取组件的配置。 332 333**起始版本:** 4.1 334 335**参数:** 336 337| 名称 | 描述 | 338| -------- | -------- | 339| index | 待填充结构的索引,详见**OMX_INDEXTYPE**。 | 340| inCfgStruct | 指向由组件填充的应用程序分配的结构体指针。 | 341| outCfgStruct | 指向由组件填充的应用程序分配的结构体指针。 | 342 343**返回:** 344 345HDF_SUCCESS 表示获取配置成功。 346 347HDF_ERR_INVALID_PARAM 表示参数无效,获取配置失败。 348 349HDF_FAILURE 表示执行失败。 350 351其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 352 353 354### GetExtensionIndex() 355 356``` 357ICodecComponent::GetExtensionIndex ([in] String paramName, [out] unsigned int indexType ) 358``` 359 360**描述** 361 362根据字符串获取组件的扩展索引。 363 364将扩展字符串转换为Openmax IL结构索引,此索引可用于获取([GetParameter](#getparameter))或者设置([SetParameter](#setparameter))组件参数。 365 366**起始版本:** 4.1 367 368**参数:** 369 370| 名称 | 描述 | 371| -------- | -------- | 372| paramName | 组件用来转换为配置索引的字符串。 | 373| indexType | 由paramName转换的配置索引,详见**OMX_INDEXTYPE**。 | 374 375**返回:** 376 377HDF_SUCCESS 表示获取扩展索引成功。 378 379HDF_ERR_INVALID_PARAM 表示参数无效,获取扩展索引失败。 380 381HDF_FAILURE 表示执行失败。 382 383其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 384 385 386### GetParameter() 387 388``` 389ICodecComponent::GetParameter ([in] unsigned int index, [in] byte[] inParamStruct, [out] byte[] outParamStruct ) 390``` 391 392**描述** 393 394获取组件参数设置。 395 396当组件处于除了OMX_StateInvalid(组件状态异常)之外的其他状态,用户可通过此接口获取组件参数,组件状态详见**OMX_STATETYPE**。 397 398**起始版本:** 4.1 399 400**参数:** 401 402| 名称 | 描述 | 403| -------- | -------- | 404| index | 待填充结构的索引,详见OMX IL定义的OMX_INDEXTYPE。 | 405| inParamStruct | 指向由组件填充的应用程序分配的结构体指针。 | 406| outParamStruct | 指向由组件填充的应用程序分配的结构体指针。 | 407 408**返回:** 409 410HDF_SUCCESS 表示获取参数成功。 411 412HDF_ERR_INVALID_PARAM 表示参数无效,获取参数失败。 413 414HDF_FAILURE 表示执行失败。 415 416其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 417 418 419### GetState() 420 421``` 422ICodecComponent::GetState ([out] enum OMX_STATETYPE state) 423``` 424 425**描述** 426 427获取组件的当前状态。 428 429用户可调用此接口获取组件的当前状态。 430 431**起始版本:** 4.1 432 433**参数:** 434 435| 名称 | 描述 | 436| -------- | -------- | 437| state | 指向获取到的状态指针,组件状态详见**OMX_STATETYPE**。 | 438 439**返回:** 440 441HDF_SUCCESS 表示获取状态成功。 442 443HDF_ERR_INVALID_PARAM 表示参数无效,获取状态失败。 444 445HDF_FAILURE 表示执行失败。 446 447其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 448 449 450### SendCommand() 451 452``` 453ICodecComponent::SendCommand ([in] enum OMX_COMMANDTYPE cmd, [in] unsigned int param, [in] byte[] cmdData ) 454``` 455 456**描述** 457 458发送命令给组件。 459 460发送命令给组件,当命令为设置状态时,会有事件回调通知结果给上层,其他命令则没有事件上报。 461 462**起始版本:** 4.1 463 464**参数:** 465 466| 名称 | 描述 | 467| -------- | -------- | 468| cmd | 组件要执行的命令,详见**OMX_COMMANDTYPE**。 | 469| param | 组件要执行的命令携带的参数。<br/>- 当cmd为OMX_CommandStateSet时,param的值详见**OMX_STATETYPE**。<br/>- 当cmd为OMX_CommandFlush、OMX_CommandPortDisable、OMX_CommandPortEnable、OMX_CommandMarkBuffer时,param为目标端口。 | 470| cmdData | 当cmd为OMX_CommandMarkBuffer时,指向OMX_MARKTYPE结构体指针。 | 471 472**返回:** 473 474HDF_SUCCESS 表示发送命令成功。 475 476HDF_ERR_INVALID_PARAM 表示参数无效,发送命令失败。 477 478HDF_FAILURE 表示执行失败。 479 480其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 481 482 483### SetCallbacks() 484 485``` 486ICodecComponent::SetCallbacks ([in] ICodecCallback callbacks, [in] long appData ) 487``` 488 489**描述** 490 491设置Codec组件的回调函数。 492 493当组件处于OMX_StateLoaded状态时,使用此回调函数向上通知事件以及上报可用的输入输出信息。更多组件状态的说明请详见**OMX_STATETYPE**。 494 495**起始版本:** 4.1 496 497**参数:** 498 499| 名称 | 描述 | 500| -------- | -------- | 501| callbacks | 指向回调函数[ICodecCallback](interface_i_codec_callback_v20.md)对象的指针。 | 502| appData | 指向应用程序定义的值的指针,该值将在回调期间返回。 | 503 504**返回:** 505 506HDF_SUCCESS 表示设置回调成功。 507 508HDF_ERR_INVALID_PARAM 表示参数无效,设置回调失败。 509 510HDF_FAILURE 表示执行失败。 511 512其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 513 514 515### SetConfig() 516 517``` 518ICodecComponent::SetConfig ([in] unsigned int index, [in] byte[] cfgStruct ) 519``` 520 521**描述** 522 523设置组件的配置。 524 525加载组件后可以随时调用此接口设置组件的配置。 526 527**起始版本:** 4.1 528 529**参数:** 530 531| 名称 | 描述 | 532| -------- | -------- | 533| index | 要设置的结构索引,详见**OMX_INDEXTYPE**。 | 534| cfgStruct | 指向组件用于初始化的应用程序分配结构的指针。 | 535 536**返回:** 537 538HDF_SUCCESS 表示设置配置成功。 539 540HDF_ERR_INVALID_PARAM 表示参数无效,设置失败。 541 542HDF_FAILURE 表示执行失败。 543 544其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 545 546 547### SetParameter() 548 549``` 550ICodecComponent::SetParameter ([in] unsigned int index, [in] byte[] paramStruct ) 551``` 552 553**描述** 554 555设置组件需要的参数。 556 557当出现如下情况时,用户可以通过此接口设置组件参数。 558 559- 当组件处于OMX_StateLoaded(表示组件已加载)。 560 561- 当组件处于OMX_StateWaitForResources(表示组件等待所需要的资源)。 562 563- 当状态或者端口是去使能状态,用户可通过此接口设置组件参数。 564 565更多组件状态的说明请详见**OMX_STATETYPE**。 566 567**起始版本:** 4.1 568 569**参数:** 570 571| 名称 | 描述 | 572| -------- | -------- | 573| index | 要设置的结构索引,详见OMX IL定义的OMX_INDEXTYPE。 | 574| paramStruct | 指向组件用于初始化的应用程序分配结构的指针。 | 575 576**返回:** 577 578HDF_SUCCESS 表示设置参数成功。 579 580HDF_ERR_INVALID_PARAM 表示参数无效,设置参数失败。 581 582HDF_FAILURE 表示执行失败。 583 584其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 585 586 587### UseBuffer() 588 589``` 590ICodecComponent::UseBuffer ([in] unsigned int portIndex, [in] struct OmxCodecBuffer inBuffer, [out] struct OmxCodecBuffer outBuffer ) 591``` 592 593**描述** 594 595指定组件端口的buffer。 596 597此接口在以下情况下使用: 598 599- 当组件处于OMX_StateLoaded状态(表示组件已加载),并且用户已经向组件发送OMX_StateIdle状态转换请求。 600 601- 当组件处于OMX_StateWaitForResources状态,所需的资源可用,并且组件已准备好进入OMX_StateIdle状态。 602 603- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle状态。 604 605更多组件状态的说明请详见**OMX_STATETYPE**。 606 607**起始版本:** 4.1 608 609**参数:** 610 611| 名称 | 描述 | 612| -------- | -------- | 613| portIndex | 指定的组件端口。 | 614| inBuffer | 指向要使用的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 615| outBuffer | 指向要使用的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v20.md)。 | 616 617**返回:** 618 619HDF_SUCCESS 表示指定成功。 620 621HDF_ERR_INVALID_PARAM 表示参数无效,指定失败。 622 623HDF_FAILURE 表示执行失败。 624 625其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 626 627 628### UseEglImage() 629 630``` 631ICodecComponent::UseEglImage ([in] unsigned int portIndex, [in] struct OmxCodecBuffer inBuffer, [out] struct OmxCodecBuffer outBuffer, [in] byte[] eglImage ) 632``` 633 634**描述** 635 636使用已在EGL中申请的空间。 637 638此接口在以下情况下使用: 639 640- 当组件处于OMX_StateLoaded状态,并且已经向组件发送OMX_StateIdle状态转换请求。 641 642- 当组件处于OMX_StateWaitForResources状态,所需的资源可用,并且组件已准备好进入OMX_StateIdle状态。 643 644- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle状态。 645 646更多组件状态的说明请详见**OMX_STATETYPE**。 647 648**起始版本:** 4.1 649 650**参数:** 651 652| 名称 | 描述 | 653| -------- | -------- | 654| portIndex | 指定的组件端口。 | 655| inBuffer | 指向[OmxCodecBuffer](_omx_codec_buffer_v20.md)结构体的指针。 | 656| outBuffer | 指向[OmxCodecBuffer](_omx_codec_buffer_v20.md)结构体的指针。 | 657| eglImage | EGL申请的图像指针。 | 658 659**返回:** 660 661HDF_SUCCESS 表示使用成功。 662 663HDF_ERR_INVALID_PARAM 表示参数无效,使用失败。 664 665HDF_FAILURE 表示执行失败。 666 667其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 668