最重要的还是openmax的处理,只是看了一天,很多东西还需要再细看一下
openmax 的IL层规定了一些接口,openmax分为core和instance,core加载instance,omax instance实现IL接口,提供给openmax框架调用,而omax instance就是特定平台实现自己codec的具体地方。
下面代码是qcom平台的建立自己omx具体方法的地方,omx 具体调用的就是component的方法,而具体的到底是什么方法是在omx il的api中规定好的。
void * qc_omx_create_component_wrapper(OMX_PTR obj_ptr)
{
qc_omx_component *pThis = (qc_omx_component *)obj_ptr;
OMX_COMPONENTTYPE* component = &(pThis->m_cmp);
memset(&pThis->m_cmp,0,sizeof(OMX_COMPONENTTYPE));
component->nSize = siz