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

Comments

Projects
None yet
3 participants
@tizonia
Copy link
Owner

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'.

@tizonia tizonia added this to the v0.2.0 milestone Oct 29, 2015

@tizonia tizonia added the enhancement label Oct 29, 2015

@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Nov 16, 2015

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

This comment has been minimized.

@juanrubio juanrubio closed this Nov 16, 2015

@CapOM

This comment has been minimized.

Copy link

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
You can’t perform that action at this time.