Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libtizonia: support for OMX_UseEGLImage #118

Closed
tizonia opened this issue Oct 22, 2015 · 3 comments
Closed

libtizonia: support for OMX_UseEGLImage #118

tizonia opened this issue Oct 22, 2015 · 3 comments
Assignees
Milestone

Comments

@tizonia
Copy link
Collaborator

tizonia commented Oct 22, 2015

OMX_UseEGLImage is an optional feature in OpenMAX IL. At present there is not enough infrastructure in libtizonia to fully enable components that need to use EGL buffers.

A couple of things are requried:

  • A means for the component implementation to validate the EGL buffer handle during the loaded->idle transition (e.g. by registering an alloc hook with 'tiz_comp_register_alloc_hooks').
  • A means for the component's "processor" to retrieve the EGL buffer handle when buffer header arrivals are signalled with 'tiz_prc_buffers_ready'.
@juanrubio
Copy link
Member

OK, I think this is done.

There are two new apis:

In tizscheduler.h:

OMX_ERRORTYPE tiz_comp_register_eglimage_hook (
    const OMX_HANDLETYPE ap_hdl, const tiz_eglimage_hook_t *ap_hook);

This hook is optional, and can be used to register a validation function that will be called when the component processes the OMX_UseEGLImage calls. Validation of the EGL image is implementation dependent, hence optional.

See here for an example of use:
https://github.com/tizonia/tizonia-openmax-il/blob/master/libtizonia/test_component/tiztc.c

In tizkernel.h:

OMX_ERRORTYPE tiz_krn_claim_eglimage (const void *ap_obj, const OMX_U32 a_pid,
                                      const OMX_BUFFERHEADERTYPE *p_hdr,
                                      OMX_PTR *app_eglimage);

This API is used to retrieve the egl image when the event that signals that the corresponding header has arrived is received at the component's 'processor'.

An example of use here:
https://github.com/tizonia/tizonia-openmax-il/blob/master/libtizonia/test_component/tiztcproc.c

@juanrubio
Copy link
Member

@CapOM
Copy link

CapOM commented Nov 19, 2015

Great I'll try that, thx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants