[vlc-devel] [RFC PATCH 00/13] OMX: android hardware buffers: Take 2

Thomas Guillem guillem at archos.com
Thu Jun 26 14:05:48 CEST 2014


Here is my second attempt to enable android hardware buffers on OMX (see my
first mail for more details).

I followed Martin advices (thank you again):

 - Reword some commit messages.

 - Add a copyright to the new files.

 - Fix some typos.

 - Don't remove/overwrite previous b_direct code and don't break anything.
   (omxil is still working with b_direct = false, b_direct = true, b_direct =
   true with hwbuf on).

 - Fix FreeBuffers: it was more complicated than I thought. Indeed, when using
   hwbuffers, buffers are not necessarily on OmxPort FIFO or on OMX side. They
   can also be hold by native_window (see min_undequeued) or on OmxHwBuffer
   FIFO. It was complicated to keep count of all FIFO, so I did a commit to
   change the way we wait for OMX Buffers to be returned (see RFC PATCH 12).

 - I also fixed a possible memory corruption (see RFC PATH 09).

I'll push the patches needed by vlc-android on the other mailing list.

Any comments are welcome.

Best Regards,
Thomas Guillem.

Thomas Guillem (13):
  Ignore android build dirs
  iomx: simplify param/config size getter.
  Android vout: fix possible mutex leak.
  iomx: implement OMX_UseBuffer
  iomx: add iomx_hwbuffer
  iomx: add android GraphicBuffers functions.
  omxil: fix warning
  omxil: more error check
  omxil: fix possible memory corruption
  omxil: factorize OMX_FIFO init/destroy
  omxil: factorize FreeBuffers and AllocateBuffers
  omxil: new way to wait for omxbuffers to be returned
  omxil: add android hw buffers support (zero copy)

 .gitignore                             |    2 +-
 contrib/.gitignore                     |    1 +
 modules/codec/omxil/iomx.cpp           |  131 +++--
 modules/codec/omxil/iomx_hwbuffer.c    |  225 ++++++++
 modules/codec/omxil/omxil.c            |  915 ++++++++++++++++++++++++++------
 modules/codec/omxil/omxil.h            |   65 ++-
 modules/codec/omxil/omxil_core.c       |   21 +
 modules/codec/omxil/omxil_core.h       |   14 +
 modules/codec/omxil/omxil_utils.h      |   40 ++
 modules/video_output/android/surface.c |    9 +-
 10 files changed, 1165 insertions(+), 258 deletions(-)
 create mode 100644 modules/codec/omxil/iomx_hwbuffer.c



This email and any files transmitted with it are confidential and are 
intended solely for the use of the individual or entity to which they are 
addressed. Access to this e-mail by anyone else is unauthorised. If you are 
not the intended recipient, any disclosure, copying, distribution or any 
action taken or omitted to be taken in reliance on it, is prohibited. 
E-mail messages are not necessarily secure. Archos does not accept 
responsibility for any changes made to this message after it was sent.

More information about the vlc-devel mailing list